Scrambled Eggs

Comments

3 comments

  • SLTom992
    There is something else that is bothering me - in the pictures that show this display it shows the "top" of the display as being in the upper left with the connector down. We designed our board with that in mind.

    I have managed to get the display to operate showing one line only and it is upside down from the pictures.

    In the manual it DOES show the zero column and zero row as being in the lower right with the connector at the bottom as it more or less operated. But you have to search for it. This is on Page 3 of the specification sheet and is very easy to miss. So if this is so, why are the available fonts upside down compared to what is being shown in the photographs of the display on the advertisements? Did I get a factory second?

    None of the functions seem to operate as is implied by their names and the descriptions of the input values.

    If you are selling a display wouldn't it be appropriate to have some library functions that operate with a minimal amount of work to demonstrate the operation of the device? Quite frankly I'm rather surprised at the treatment of a display that could be quite helpful on small handheld instruments of all sorts where a large display would be unnecessary and expensive and time consuming to program.

    I have tried to add a picture of the display with the single line and the noise on the rest of the display. But the file size is too large even in a GIF.

    The characters show that the DATA lines are working OK and that the commands are therefore available. The question is why only the single line? Why won't the display clear? Why does "fill" only work on that single line?

    If I use the "Frame" function the frame shows the LOWER edge of the frame with the sides disappearing up.
     
    « Last Edit: July 28, 2014, 12:01:00 PM by SLTom992 »
    0
  • SLTom992

    After verifying all of the lines and the control waveforms I got a second display and got precisely the same results.

    After knocking my head against the table three or four times I looked at the base drivers again and realized that whoever had written that original code which I had modified had made a major mistake and stupidly I had followed their lead.

    The drivers ALL lead with resetting the SSD1305 and so NO command had any effect beyond the default initialization except the very last command accomplished. Once the resets were removed not only were all four lines of the display working but the display was turned right-side up as in the advertisements because in the init function is the remap functions that accomplish that but wouldn't work in my testing because of the resets on each command.

    Since I included the code and since these resets are in the original drivers it should have bit the Newhaven people in the butt immediately. So perhaps they simply aren't monitoring these groups.

    In any case it appears that their functions are mostly correct. I still have to work on their alphanumeric display since they have a full space between each character instead of allowing the characters to be adjacent.

    0
  • Michael_L

    The functions in that example code do in fact work.  I have code below I have just used with this display + Arduino Mega that use these functions:

    void loop()
    {
      Checkerboard_12832();
      delay(500);
      Fill_RAM_12832(0x00);
      Show_Font57_12832(1, 52, 1, 16);
      Show_Font57_12832(1, 37, 1, 28);
      Show_Font57_12832(1, 51, 1, 40);
      Show_Font57_12832(1, 52, 1, 52);
      Show_Font57_12832(1, 41, 1, 64);
      Show_Font57_12832(1, 46, 1, 76);
      Show_Font57_12832(1, 39, 1, 88);
      delay(5000);
    }
    void Checkerboard_12832()
    {
    unsigned char i,j;

    for(i=0;i<8;i++)
    {
    Set_Start_Page_12832(i);
    Set_Start_Column_12832(0x00);

    for(j=0;j<66;j++)
    {
    data_out(0x55);
    data_out(0xaa);
    }
    }
    }
    void Fill_RAM_12832(unsigned char Data)
    {
    unsigned char i,j;

    for(i=0;i<8;i++)
    {
    Set_Start_Page_12832(i);
    Set_Start_Column_12832(0x00);

    for(j=0;j<132;j++)
    {
    data_out(Data);
    }
    }
    }
    void Show_Font57_12832(unsigned char a, unsigned char b, unsigned char c, unsigned char d)
    {
    unsigned char *Src_Pointer=0;
    unsigned char i;

    switch(a)
    {
    case 1:
    Src_Pointer=&Ascii_1[b][0];
    break;
    case 2:
    //Src_Pointer=&Ascii_2[(b-1)][0];
    break;
    }
    Set_Start_Page_12832(c);
    Set_Start_Column_12832(d);

    for(i=0;i<5;i++)
    {
    data_out(*Src_Pointer);
    Src_Pointer++;
    }
    data_out(0x00);
    }

     

     

    0

Please sign in to leave a comment.