Git Product home page Git Product logo

Comments (26)

board707 avatar board707 commented on July 19, 2024

Sorry, I don't understand.
Please explain more clearly, what is a problem

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

this is p6 module using PICO board
17560

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

working fine after few hour display showing garbage please check video.

VIDEO-2023-05-30-14-33-12.mp4

At the garbage time Restart the controller going to normal working

same issue I will face p10 red color module.

from dmd_stm32.

board707 avatar board707 commented on July 19, 2024

Good afternoon
Too little information to give advice
This behavior can be caused by many reasons - errors in the code, power problems, some kind of electromagnetic interference.
For example, one of the options is memory problems in the library code or in the main program. Could you please provide a example code, where the problem is observed.

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

please check

/*--------------------------------------------------------------------------------------
Demo for RGB panels

DMD_STM32a example code for STM32F103xxx board
------------------------------------------------------------------------------------- */
#include <Wire.h>
#include <EEPROM.h>
#include <IRremote.h>
#include "DMD_RGB.h"
#define RGB32x32plainS8 34 // 32x32 1/8
//###########################################################################################

template
class DMD_RGB<RGB32x32plainS8, COL_DEPTH> : public DMD_RGB_BASE2<COL_DEPTH>
{
public:
DMD_RGB(uint8_t* mux_list, byte _pin_nOE, byte _pin_SCLK, uint8_t* pinlist,
byte panelsWide, byte panelsHigh, bool d_buf = false) :
DMD_RGB_BASE2<COL_DEPTH>(3, mux_list, _pin_nOE, _pin_SCLK, pinlist,
panelsWide, panelsHigh, d_buf, COL_DEPTH, 8, 32, 32)
{}
protected:
uint16_t get_base_addr(int16_t x, int16_t y) override {
this->transform_XY(x, y);
uint8_t pol_y = y % this->pol_displ;
x += (y / this->DMD_PIXELS_DOWN) * this->WIDTH;
uint16_t base_addr = (pol_y % this->nRows) * this->x_len + (x / this->DMD_PIXELS_ACROSS) * this->multiplex * this->DMD_PIXELS_ACROSS;
if (pol_y / this->nRows) base_addr += x % this->DMD_PIXELS_ACROSS ;
else base_addr += x % this->DMD_PIXELS_ACROSS + this->DMD_PIXELS_ACROSS;
return base_addr;
}

};
//################################################################################
byte second1, minute1, hour1, dayOfWeek1, dayOfMonth1, month1,year1;
char a[15];
char b[15];
// Fonts includes
#include "st_fonts/SystemFont5x7.h"
#include "st_fonts/max32.h"
#include "st_fonts/Font6x16.h"
#include "st_fonts/Font7x16.h"
#include "st_fonts/Basket_16.h"
#pragma GCC diagnostic ignored "-Wnarrowing"
#pragma GCC diagnostic ignored "-Woverflow"
#include "gfx_fonts/GlametrixLight12pt7b.h"
#include "gfx_fonts/FreeSans9pt7b.h"
#pragma GCC diagnostic warning "-Wnarrowing"
#pragma GCC diagnostic warning "-Woverflow"

//Number of panels in x and y axis
#define DISPLAYS_ACROSS 2
#define DISPLAYS_DOWN 1

#define ENABLE_DUAL_BUFFER true
#define ARDUINO_ARCH_RP2040

// ==== DMD_RGB pins ====
// mux pins - A, B, C... all mux pins must be selected from same port!
#define DMD_PIN_A 6
#define DMD_PIN_B 7
#define DMD_PIN_C 8
#define DMD_PIN_D 9
#define DMD_PIN_E 10
// put all mux pins at list
uint8_t mux_list[] = { DMD_PIN_A , DMD_PIN_B , DMD_PIN_C , DMD_PIN_D , DMD_PIN_E };

// pin OE must be one of PB0 PB1 PA6 PA7
#define DMD_PIN_nOE 15
#define DMD_PIN_SCLK 12

#define Start_Timer 26
#define Stop_Timer 27
#define Reset_Timer 28

// Pins for R0, G0, B0, R1, G1, B1 channels and for clock.
// By default the library uses RGB color order.2
// If you need to change this - reorder the R0, G0, B0, R1, G1, B1 pins.
// All this pins also must be selected from same port!
uint8_t custom_rgbpins[] = { 11, 16,17,18,19,20,21 }; // CLK, R0, G0, B0, R1, G1, B1
// Fire up the DMD object as dmd<MATRIX_TYPE, COLOR_DEPTH>
// We use 64x32 matrix with 16 scans and 4bit color:
DMD_RGB <RGB32x32plainS8 , COLOR_4BITS> dmd(mux_list, DMD_PIN_nOE, DMD_PIN_SCLK, custom_rgbpins, DISPLAYS_ACROSS, DISPLAYS_DOWN, ENABLE_DUAL_BUFFER);

// --- Define fonts ----
// DMD.h old style font
DMD_Standard_Font UkrRusArial_F(SystemFont5x7);
DMD_Standard_Font basket_32(max32);
DMD_Standard_Font font6x16(Font6x16);
DMD_Standard_Font font7x16(Font7x16);
DMD_Standard_Font basket_16(Basket_16);
// GFX font with sepatate parts for Latin and Cyrillic chars
DMD_GFX_Font GlametrixL((uint8_t*)&GlametrixLight12pt7b, (uint8_t*)&GlametrixLight12pt8b_rus, 0x80, 13);

//###############################################################
uint16_t col[] = {
dmd.Color888(255,0, 0), // red
dmd.Color888(0, 255, 0), // green
dmd.Color888(0, 0, 255), // blue
dmd.Color888(0, 255, 255), // blue
dmd.Color888(255, 255, 0), // blue
dmd.Color888(255, 255, 255), // blue
};
//##############################################################
int utf8_rus(char* dest, const unsigned char* src) {

uint16_t i, j;
for ( i =0, j =0; src[i]; i++) {
if ((src[i] == 0xD0 )&& src[i+1]) { dest[j++] = src[++i] - 0x10;}
else if ((src[i] == 0xD1 )&& src[i+1]) {dest[j++] = src[++i] + 0x30; }
else dest[j++] = src[i];
}
dest[j] ='\0';
return j;
}

const int dimmerValues[11] = {10, 25 , 50, 64 , 100 , 160, 210, 500, 750, 1000,1024};
byte Select_RTC = 0; // 1 - MCP7940 0 - Ds1307
byte ON = 0;
int16_t brightness=6;
int8_t switchhour=12;
int8_t Timer_start = 0;
int8_t Timer_counter =0;
int8_t prestate = 0;
void setup(void)
{

// initialize DMD objects

dmd.init();
Wire.begin();
delay(100);
EEPROM.begin(512);
delay(100);
brightness = EEPROM.read(1);
Timer_counter = EEPROM.read(2);;
delay(10);
dmd.setBrightness(dimmerValues[brightness]);
Serial.begin(9600);
Serial.println("PICO P10 RTC");
pinMode(Start_Timer, INPUT_PULLUP);
pinMode(Stop_Timer, INPUT_PULLUP);
pinMode(Reset_Timer, INPUT_PULLUP);
digitalWrite(Start_Timer,HIGH);
digitalWrite(Stop_Timer,HIGH);
digitalWrite(Reset_Timer,HIGH);
delay(1000);

}

/--------------------------------------------------------------------------------------
loop
Arduino architecture main loop
--------------------------------------------------------------------------------------
/

void loop(void)
{

dmd.selectFont(&basket_16);
 dmd.setTextColor(0, 0);
Serial.print("WELCOME PICO P4 RGB");
// Cycle for tests:
// -- running texts moving at x and y axis with single and double speed
// -- vertical scrolling message
while (1) 
{
  
  if(ON == 0)
    {
        int start_timer = digitalRead(Start_Timer);
        int stop_timer = digitalRead(Stop_Timer);
        int reset_timer = digitalRead(Reset_Timer);
        //#########################read ball count
        if(start_timer == LOW && prestate == 0)
          {
            hour1 =0;minute1=0;second1=0;
            setDate_DS1307();
            Timer_start = 1;
            prestate = 1;
            
          }
          
        else if(stop_timer == LOW && prestate == 0 && Timer_start == 1)
          {
              Timer_start = 2;
              Timer_counter++;
              EEPROM.write(2, Timer_counter);
              EEPROM.commit();
              delay(100);
              prestate = 1;
              
          }
          else if(reset_timer == LOW && prestate == 0)
          {
              Timer_start = 2;
              Timer_counter =0;
              hour1 =0;minute1=0;second1=0;
              setDate_DS1307();
              EEPROM.write(2, Timer_counter);
              EEPROM.commit();
              delay(100);
              dmd.clearScreen(true);
              prestate = 1;
              
          }
        else if (start_timer == HIGH && stop_timer == HIGH && reset_timer == HIGH)
        {
          prestate = 0;
        }

        if(Timer_start == 1)
        {
          if(Select_RTC == 0)getDate_DS1307();
          if(Select_RTC == 1)getDate_MCP7940();
        }
          //sprintf(a,"%02d:%02d:%02d",hour1,minute1,second1);
          //sprintf(b,"%02d:%02d:%02d",dayOfMonth1,month1,year1);
                dmd.selectFont(&basket_16);
                sprintf(a,"%02d:%02d",minute1,second1);
                 sprintf(b,"%4d",Timer_counter);
                dmd.drawString(17,0,a,sizeof(a),col[1]);
                dmd.selectFont(&basket_16);
                dmd.drawString(24,17,b,sizeof(b),col[2]);
                dmd.selectFont(&UkrRusArial_F);
                dmd.drawString(1,5,"CT",3,col[4]);
                dmd.drawString(1,22,"QTY",4,col[4]);
                dmd.swapBuffers(true);

   }
}

}
//###################################### DS3232 clock code ########################
byte decToBcd(byte val)
{
return ( (val/1016) + (val%10) );
}
byte bcdToDec(byte val)
{
return ( (val/16
10) + (val%16) );
}
void setDate_DS1307()
{
Wire.beginTransmission(104);
Wire.write(0);
Wire.write(decToBcd(second1));
Wire.write(decToBcd(minute1));
Wire.write(decToBcd(hour1));
Wire.write(decToBcd(dayOfWeek1));
Wire.write(decToBcd(dayOfMonth1));
Wire.write(decToBcd(month1));
Wire.write(decToBcd(year1));
Wire.endTransmission();
}
void getDate_DS1307()
{
Wire.beginTransmission(104);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(104,7);
second1 = bcdToDec(Wire.read() & 0x7f);
minute1 = bcdToDec(Wire.read());
hour1 = bcdToDec(Wire.read() & 0x3f);
dayOfWeek1 = bcdToDec(Wire.read());
dayOfMonth1 = bcdToDec(Wire.read());
month1 = bcdToDec(Wire.read());
year1 = bcdToDec(Wire.read());
}
//##################################### end of code ####################
void setDate_MCP7940()
{
Wire.beginTransmission(111);
Wire.write(0);
Wire.write(decToBcd(second1) | 0x80);
Wire.write(decToBcd(minute1));
Wire.write(decToBcd(hour1));
Wire.write(decToBcd(dayOfWeek1) | 0x08);
Wire.write(decToBcd(dayOfMonth1));
Wire.write(decToBcd(month1));
Wire.write(decToBcd(year1));
Wire.endTransmission();
}
void getDate_MCP7940()
{
Wire.beginTransmission(111);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(111,7);
second1 = bcdToDec(Wire.read() & 0x7f);
minute1 = bcdToDec(Wire.read());
hour1 = bcdToDec(Wire.read() & 0x3f);
dayOfWeek1 = bcdToDec(Wire.read() & 0x07);
dayOfMonth1 = bcdToDec(Wire.read());
month1 = bcdToDec(Wire.read());
year1 = bcdToDec(Wire.read());
}

from dmd_stm32.

board707 avatar board707 commented on July 19, 2024

I am not sure is this a cause of the problem or not, but there are errors in the code.
At the end of the loop()

dmd.drawString(17,0,a,sizeof(a),col[1]);

The using of sizeof() is incorrect in this case, it returns the size of array rather than a length of string. Use the strlen() instead:

dmd.drawString(17,0,a,strlen(a),col[1]);

There are a several lines with the same error.

Next, these two methods are wrong:

byte decToBcd(byte val)
{
return ( (val/1016) + (val%10) );
}
byte bcdToDec(byte val)
{
return ( (val/1610) + (val%16) );
}

Since the calculation is carried out in integers, the first expression, (val/1610), is always zero and whole result will be val % 10 in first function and val %16 in second.

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

thanks sir
i will change this code and check

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

this is copy past issue

byte decToBcd(byte val)
{
return ( (val/1016) + (val%10) );
}
byte bcdToDec(byte val)
{
return ( (val/16
10) + (val%16) );
}

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

(val/10x16)

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

i get new error in p10 red module

Untitled.4.mp4

please check and give the solution sir

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

DHT.txt

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

please check txt file code sir

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

Showing junk display at this time PICO Serial data received

from dmd_stm32.

board707 avatar board707 commented on July 19, 2024

Sorry but your code seems to have a some errors:

What are you try to achieve in this line?

 if((Adjust_Temp/1000)== '+')   {

your Adjust_Temp is integer, comparing it with char not making sense for me

This line is not the one with errors...

If you find a bug in a library, please prepare a short code example where the bug appears. I don't have the ability to run your entire project with modbus, serial and sensors.

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

i am trying to find this bug ,every 2 to 3 hour create this issue

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

please need help

every 1 hour, how to restart your library or Software restart for raspberry pi pico

from dmd_stm32.

board707 avatar board707 commented on July 19, 2024

how to restart your library or Software restart for raspberry pi pico

Hi
To soft restart a Pico board you can use a watchdog feature:
https://github.com/raspberrypi/pico-examples/blob/master/watchdog/hello_watchdog/hello_watchdog.c

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

I completely remove DHT library code ,Now no error on the led display
thanks for your support

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

I have another one question

i have custom led board 74 hc595 and uln2803 driver ic

1/2 scan method it is possible drive your library

16x48 pixel

from dmd_stm32.

board707 avatar board707 commented on July 19, 2024

have custom led board 74 hc595 and uln2803 driver ic

Uln2803 driver? Are you sure? It is not common for LED panels using this driver.
Is the panel has a HUB75 connector ?
Please show the pictures

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

it is old board design using railway application
MatrixCircuit

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

1 and 9 column connected 16x48 total 6 74hc595 ic
8 and 16 connected

tomorrow will send picture

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

Right side is first input for 74hc595

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

this code working only move 6 char One shiftRegiter load One char
please help

int latchPin = 12; // pis connected to shift registors
int clockPin = 9;
int dataPin = 8;
const int mrpin = 11; // Connects to the DS pin of 74HC595
int pins [8] = {16 ,17,18, 19, 20,21, 10, 6}; // common cathode pinsint pins [8] = {20, 19,18, 17, 16, 6, 10, 21}; // common cathode pins
byte Railway_8x16[][16] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 32
0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x18, // Code for char num 33
0x00,0x1B,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 34
0x00,0xB0,0xB0,0xD8,0xFE,0xFE,0xD8,0xD8,0x6C,0x6C,0x6C,0xFF,0xFF,0x6C,0x36,0x36, // Code for char num 35
0x0C,0x1E,0x3F,0x33,0x33,0x33,0x07,0x0E,0x1C,0x38,0x38,0x33,0x33,0x33,0x3F,0x1E, // Code for char num 36
0x00,0x1E,0x33,0x33,0x33,0x33,0x33,0x33,0x9E,0x40,0x40,0x20,0x10,0x10,0x08,0x04, // Code for char num 37
0x00,0x3E,0x7F,0x63,0x63,0x63,0x03,0xFE,0xFE,0x63,0x63,0x63,0x63,0x63,0x7F,0x7E, // Code for char num 38
0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 39
0x00,0x18,0x0C,0x0C,0x0C,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x0C, // Code for char num 40
0x00,0x03,0x06,0x0C,0x0C,0x0C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x0C,0x0C,0x0C, // Code for char num 41
0x00,0x18,0x5A,0xFE,0x18,0xFE,0x5A,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 42
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0xFE,0xFE,0x30,0x30,0x30,0x00,0x00, // Code for char num 43
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x02,0x03, // Code for char num 44
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 45
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18, // Code for char num 46
0x00,0xC0,0x60,0x60,0x60,0x30,0x30,0x18,0x18,0x18,0x0C,0x0C,0x06,0x06,0x06,0x03, // Code for char num 47
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 48
0x00,0x0C,0x1C,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C, // Code for char num 49
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0x06,0x0C,0x0C,0x18,0x38,0x30,0x60,0xC0,0xFE,0xFE, // Code for char num 50
0x00,0x7C,0xFE,0xC6,0xC6,0x06,0x0E,0x1C,0x30,0x1C,0x0E,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 51
0x00,0x0C,0x0C,0x1C,0x3C,0x3C,0x3C,0x6C,0x6C,0x6C,0xCC,0xFE,0xFE,0x0C,0x0C,0x0C, // Code for char num 52
0x00,0xFE,0xFE,0xC0,0xC0,0xC0,0xFC,0xFE,0x06,0x06,0x06,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 53
0x00,0x7C,0xFE,0xC6,0xC6,0xC0,0xC0,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 54
0x00,0xFE,0xFE,0xC6,0x06,0x06,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x60,0x60,0x60, // Code for char num 55
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0x7C,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 56
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7E,0x06,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 57
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // Code for char num 58
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // Code for char num 59
0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x38,0x1C,0x06,0x1C,0x38,0x60,0x40,0x00,0x00, // Code for char num 60
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0x00,0x00,0xFE,0xFE,0x00,0x00,0x00, // Code for char num 61
0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x0E,0x1C,0x30,0x1C,0x0E,0x03,0x01,0x00,0x00, // Code for char num 62
0x00,0x1E,0x3F,0x33,0x33,0x30,0x30,0x18,0x0C,0x06,0x06,0x06,0x06,0x00,0x06,0x06, // Code for char num 63
0x00,0xFE,0x01,0x01,0x71,0xD9,0xD9,0xC1,0xF1,0xD9,0xD9,0xD9,0xF1,0x01,0x01,0xFE, // Code for char num 64
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6, // Code for char num 65
0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xFC,0xFC,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFC, // Code for char num 66
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC6,0xC6,0xFE,0x7C, // Code for char num 67
0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFC, // Code for char num 68
0x00,0xFE,0xFE,0xC0,0xC0,0xC0,0xC0,0xF8,0xF8,0xC0,0xC0,0xC0,0xC0,0xC0,0xFE,0xFE, // Code for char num 69
0x00,0xFE,0xFE,0xC0,0xC0,0xC0,0xC0,0xF8,0xF8,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, // Code for char num 70
0x00,0x7C,0xFE,0xC6,0xC6,0xC0,0xC0,0xDE,0xDE,0xD6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 71
0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6, // Code for char num 72
0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // Code for char num 73
0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 74
0x00,0xC6,0xCC,0xCC,0xD8,0xD8,0xD0,0xF0,0xE0,0xF0,0xF0,0xD8,0xD8,0xCC,0xCC,0xC6, // Code for char num 75
0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFE,0xFE, // Code for char num 76
0x00,0x82,0xC6,0xEE,0xFE,0xD6,0xD6,0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6, // Code for char num 77
0x00,0xC6,0xC6,0xC6,0xC6,0xE6,0xF6,0xF6,0xDE,0xDE,0xCE,0xCE,0xC6,0xC6,0xC6,0xC6, // Code for char num 78
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 79
0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFC,0xC0,0xC0,0xC0,0xC0,0xC0, // Code for char num 80
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xCE,0xCE,0xC6,0xFF,0x7F, // Code for char num 81
0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xF8,0xD8,0xCC,0xCC,0xCE,0xC6,0xC6, // Code for char num 82
0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xE0,0x70,0x38,0x1E,0x0E,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 83
0x00,0xFE,0xFE,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38, // Code for char num 84
0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 85
0x00,0xC3,0xC3,0xC3,0x66,0x66,0x66,0x66,0x66,0x24,0x3C,0x3C,0x3C,0x3C,0x18,0x18, // Code for char num 86
0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xD6,0xFE,0xEE,0xC6,0xC6,0x82, // Code for char num 87
0x00,0xC6,0xC6,0x6C,0x6C,0x6C,0x38,0x38,0x38,0x38,0x38,0x6C,0x6C,0x6C,0xC6,0xC6, // Code for char num 88
0x00,0xC3,0xC3,0x66,0x66,0x66,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // Code for char num 89
0x00,0xFE,0xFE,0x06,0x0C,0x0C,0x08,0x18,0x10,0x30,0x20,0x60,0x60,0xC0,0xFE,0xFE, // Code for char num 90
0x00,0x1C,0x1E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, // Code for char num 91
0x00,0x06,0x06,0x0C,0x0C,0x0C,0x0C,0x18,0x18,0x18,0x30,0x30,0x30,0x30,0x60,0x60, // Code for char num 92
0x00,0x0E,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // Code for char num 93
0x00,0x08,0x1C,0x36,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 94
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 95
0x00,0x00,0x38,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 96
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x30,0x3E,0x33,0x33,0x3F,0x36, // Code for char num 97
0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x1F, // Code for char num 98
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x03,0x03,0x03,0x33,0x3F,0x1E, // Code for char num 99
0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x3E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x36, // Code for char num 100
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x33,0x3F,0x03,0x33,0x3F,0x1E, // Code for char num 101
0x00,0x06,0x07,0x03,0x03,0x03,0x03,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 102
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x3E, // Code for char num 103
0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x1B,0x3F,0x37,0x33,0x33,0x33,0x33,0x33,0x33, // Code for char num 104
0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 105
0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 106
0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x33,0x1B,0x1B,0x0F,0x0F,0x0F,0x1B,0x1B,0x33, // Code for char num 107
0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 108
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9B,0xFF,0x77,0x33,0x33,0x33,0x33,0x33,0x33, // Code for char num 109
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x3F,0x37,0x33,0x33,0x33,0x33,0x33,0x33, // Code for char num 110
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E, // Code for char num 111
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x1F, // Code for char num 112
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x3E, // Code for char num 113
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x3F,0x37,0x33,0x03,0x03,0x03,0x03,0x03, // Code for char num 114
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x07,0x1C,0x30,0x33,0x3F,0x1E, // Code for char num 115
0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x07,0x06, // Code for char num 116
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3E, // Code for char num 117
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x12,0x1E,0x1E,0x1E,0x0C,0x0C,0x0C, // Code for char num 118
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x32,0xFE,0xFE,0xFE,0xCC,0xCC,0xCC, // Code for char num 119
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x36,0x36,0x1C,0x1C,0x1C,0x36,0x36,0x63, // Code for char num 120
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x12,0x1E,0x1E,0x1E,0x1E,0x0C,0x0C, // Code for char num 121
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x18,0x18,0x0C,0x06,0x06,0x3F,0x3F, // Code for char num 122
0x00,0x38,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x06,0x03,0x06,0x0C,0x0C,0x0C,0x0C, // Code for char num 123
0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, // Code for char num 124
0x00,0x0E,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x30,0x60,0x30,0x18,0x18,0x18,0x18, // Code for char num 125
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCE,0xFE,0xE6,0x00,0x00,0x00,0x00, // Code for char num 126
0x00,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x00 // Code for char num 127
};

char a[20]="ABCD12";
static char Message[20] = "0";

void setup() {
Serial.begin(9600); // Serial begin
pinMode(latchPin, OUTPUT); // Pin configuration
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(mrpin, OUTPUT);
for (int i = 0; i < 8; i++) { // for loop is used to configure common cathodes
pinMode(pins[i], OUTPUT);
digitalWrite(pins[i], HIGH);
}

}

void loop() {

digitalWrite(mrpin, HIGH);
for (int j = 0; j < 8; j++)
{
digitalWrite(latchPin, LOW);
digitalWrite(pins[j], LOW);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[5]-32][j+8]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[5]-32][j]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[4]-32][j+8]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[4]-32][j]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[3]-32][j+8]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[3]-32][j]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[2]-32][j+8]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[2]-32][j]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[1]-32][j+8]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[1]-32][j]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[0]-32][j+8]);
shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[0]-32][j]);
digitalWrite(latchPin, HIGH);
delayMicroseconds(1000);
digitalWrite(latchPin, LOW);
for (int i = 0; i < 12; i++) {
shiftOut(dataPin, clockPin, LSBFIRST, B00000000);
}
digitalWrite(latchPin, HIGH);
digitalWrite(pins[j], HIGH);

}
}

from dmd_stm32.

board707 avatar board707 commented on July 19, 2024

total 6 74hc595 ic

It seems to me that for 16x48 panel it should be 12 74hc595 ic in total.

What for do you plan to use this panels? Without major code modification, they will not work with this library. I could add support for these panels to the code if I had them available. Without panels for tests, this is hardly possible.

Why would you like to use exact this panels? Do you have dozens or hundreds? Apparently, this is a very old design and it is unlikely that anyone will actively use them. If you have only a few panels, it is hardly worth spending so much effort on them, it is more profitable to buy modern ones.

from dmd_stm32.

maxmurugan avatar maxmurugan commented on July 19, 2024

ok thanks

from dmd_stm32.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.