Digole
Digital Solutions
iDigole Buyer ProtectioniDigole Buyer
Protection
My shopping cart
0 Items:
Secure Checkout
Top Rated Plus
Visit Our Live Auctions
99.9% Customer's Satisfaction
 
Forum : Digole Serial Display :

 Search Forum.. 
 Creat New Topic   Reply 

New Arduino lib & programmer manual released(2017)

The beta version of programmer mannual including new functions in firmware version V3.3 and Arduino lib can be downloaded here:

Programmer Manual

New Arduino Lib(Jan 2017)

If you found any bugs in the new version, please report it here,

Old Arduino Lib(Dec 2015)

Immigrate software to V3.3 of firmware

If you already developed the software before for our display module with older firmware version than V3.3, some modification need to be done in order to use the newest module:

1) value 0, 13 and 15 can be used to terminate the string in “TT” command, but in V3.3, only value of 0 used for that, value 13 used to move cursor to next line, and value 15 used to move cursor to the begin of line.

2) set background color command (BGC) changed. A byte of background color should follow to “BGC” in new version, and not affect the foreground color, but in old version, “BGC” only copy the color from foreground to background.
eg.: set a red background: “BGC\xE0” in new version, “SC\xE0BGC” in older version, sample code
void setBgColor(uint8_t color) //set current color as background

    {      

#ifdef V33

        write("BGC");

        write(color);

#else

        write("SC");

        write(color);

        write("BGC");

#endif

    }

3) the sequence of 2 byte for font’s length when downloading the user font is MSB, LSB in new version, but it was LSB, MSB in older version.
Sample code:
void downloadUserFont(int lon, const unsigned char *data, uint8_t font_sect) {

        uint8_t c;

        unsigned char b;

        write("SUF");

        write(font_sect);

#if defined(V33)

        write((unsigned char) (lon / 256));

        write((unsigned char) (lon % 256));

#else

        write((unsigned char) (lon % 256));

        write((unsigned char) (lon / 256));

#endif

        b = 0;

        for (int j = 0; j < lon; j++) {

            c = pgm_read_byte_near(data + j);

            write(c);

            if ((++b) == 64) {

                b = 0, delay(40); //delay 40ms

            }

        }

    }

4) welcome screen and commands set, you only need add an extra value of 255 to indicate the end of data in new version, but in older version, you need put the data length at the beginning of data.
welcome screen changed to commands set format in V3.3 on monochrome screen too, if your welcome screen is bitmap, please use our online tool to convert it to commands set:
http://www.digole.com/tools/Mono_welcome_to_Commands_set.php

5) now all multi-bytes of value which indicate the length, address, position changed to MSB, LSB format, the user will not be confused any more

6) The SPI mode switched to mode 2 by accident in version V3.3, if you developed software for module older than V3.1 and use hardware SPI, you probably need to change the SPI mode to make the code work with V3.3, use SPI mode 2 in all microcontroller (For "Microchip PIC" / "ARM-based" microcontrollers,(CPOL/CKP)=1,(CKE/NCPHA)=1, for other microcontrollers, CPOL=1,CPHA=0. SCLK keep high at idle). We will correct this bug in V3.4, and add "SPIMD" command to let user specify the SPI mode from 0 to 3.

 256 color code(Hex Code)

 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
 20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F  30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
 40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F  50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
 60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F  70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
 80  81  82  83  84  85  86  87  88  89  8A  8B  8C  8D  8E  8F  90  91  92  93  94  95  96  97  98  99  9A  9B  9C  9D  9E  9F
 A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA  AB  AC  AD  AE  AF  B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD  BE  BF
 C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF  D0  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF
 E0  E1  E2  E3  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF  F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  FA  FB  FC  FD  FE  FF

RE:New Arduino lib & programmer manual released(2016)

With Arduino Pro Mini 16Mhz 5V  IDE1.6.7 and 2.8in display SPI on pins 8,9,10

Not one example works all from this library

ColorGraphicLCDAdapaterDemo

GraphicLCDAdapaterDemo

Test_All_Function

Test_Draw_Window

No change ifI try IDE 1.6.0

The following does not work:

#include <Wire.h>
#define _Digole_Serial_SPI_
#include <DigoleSerial.h>
DigoleSerialDisp mydisp( 8,9,10 );

int last_ticks=0;
unsigned long last_sample_time=0;
unsigned long t_distance;
float l_speed=0;
uint8_t g1_x,g1_y,g2_x,g2_y,g3_x,g3_y;
uint8_t g2t,g3t;
uint8_t speed_tmp;
int graph_i=0;

void setup() {
    delay(3000);
    mydisp.begin();
    delay(2000);
    mydisp.clearScreen(); //CLear screen
    mydisp.setPrintPos(0, 7, _TEXT_);
    mydisp.print("Volts=12");
    mydisp.setPrintPos(0, 8, _TEXT_);
    mydisp.print("Distance=0");
    mydisp.setPrintPos(0, 9, _TEXT_);
    mydisp.print("Rcdr ");
    mydisp.setMode('C'); //set graphic Drawing Mode to COPY
    mydisp.setColor(0x1F);
    mydisp.drawHLine(0, 30, 159); //draw horizontal Line
    mydisp.setColor(0xE0);
    mydisp.drawHLine(0, 60, 159); //draw horizontal Line
    mydisp.setColor(0x0F);
    mydisp.drawHLine(0, 90, 159); //draw horizontal Line
}
void loop() {
   delay(10);
}

Graphics in particular seems broken.

Please help.

RE:New Arduino lib & programmer manual released(2016)

Here is a follow up with the previous post:

Serial TX/RX works just fine, with examples and my own code.

SPI mode is broken.

 

Copyright Digole Digital Solutions, 2008-2017. All rights reserved.
Powered by Victor Sun