TM1650 Arduino library for 2 x 8 led display

Hey all I am using a 2 digit 8 segment TM1650 Arduino library and I can't seem to find the setting for that? I can only find TM1650_DISPMODE_4x8 and TM1650_DISPMODE_4x7. No 2x8.

My setup looks like this when running the code below:

enter image description here

My Arduino nano code:

#include <TM1650.h>
#include <TM16xxDisplay.h>
//              [data Pin]
//              |  [clock Pin]
//              |  |  [num Digits]
//              |  |  |  [activate Display]
//              |  |  |  |     [intensity]
//              |  |  |  |     |  [display mode]
//              ↓  ↓  ↓  ↓     ↓  ↓
TM1650 display1(2, 3, 2, true, 7   );

void setup()
{
}

void loop()
{
   int n;

   for (n = 0; n < 10; n++)
   {
      //                             [nNumber]
      //                             |  [byte bDots]
      //                             ↓  ↓
      display1.setDisplayToDecNumber(n, 0b0000);
      delay(250);                               
   }
}

If someone could let me know how to go about modifying the code in order to allow me to use just 2 digitals instead of 4 then that would be great!

#include <TM1650.h>
#include <TM16xxDisplay.h>
//              [data Pin]
//              |  [clock Pin]
//              |  |  [num Digits]
//              |  |  |  [activate Display]
//              |  |  |  |     [intensity]
//              |  |  |  |     |  [display mode]
//              ↓  ↓  ↓  ↓     ↓  ↓
TM1650 display1(2, 3, 2, true, 7   );

void setup(){}

void loop(){
   for (byte n = 0; n < 99; n+=16)   {
      //                             [nNumber]
      //                             |  [byte bDots]
      //                             ↓  ↓
      display1.setDisplayToDecNumber(n*100, 0b0000);
      delay(250);                               
   }
}

Just displays 9.9.

corrected

Just displays 9.9.

#include <TM1650.h>

TM1650 display1(2  );

void setup(){
  Wire.begin();
  display1.init();
  display1.displayString("12");
  for (byte i = 0; i < 4; i++)display1.setDot(i, false);
}

void loop(){}

Does not compile

C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:3:20: error: no matching function for call to 'TM1650::TM1650(int)'
 TM1650 display1(2  );
                    ^
In file included from C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:1:0:
c:\Users\admin\Documents\Arduino\libraries\TM16xx_LEDs_and_Buttons\src/TM1650.h:38:5: note: candidate: TM1650::TM1650(byte, byte, byte, boolean, byte, byte)
     TM1650(byte dataPin, byte clockPin, byte numDigits=4, boolean activateDisplay=true, byte intensity=7, byte displaymode = TM1650_DISPMODE_4x8);
     ^~~~~~
c:\Users\admin\Documents\Arduino\libraries\TM16xx_LEDs_and_Buttons\src/TM1650.h:38:5: note:   candidate expects 6 arguments, 1 provided
In file included from C:\Users\David\Documents\Arduino\TM1650\TM1650.ino:1:0:
c:\Users\admin\Documents\Arduino\libraries\TM16xx_LEDs_and_Buttons\src/TM1650.h:34:7: note: candidate: constexpr TM1650::TM1650(const TM1650&)
 class TM1650 : public TM16xx
       ^~~~~~
c:\Users\admin\Documents\Arduino\libraries\TM16xx_LEDs_and_Buttons\src/TM1650.h:34:7: note:   no known conversion for argument 1 from 'int' to 'const TM1650&'
c:\Users\admin\Documents\Arduino\libraries\TM16xx_LEDs_and_Buttons\src/TM1650.h:34:7: note: candidate: constexpr TM1650::TM1650(TM1650&&)
c:\Users\admin\Documents\Arduino\libraries\TM16xx_LEDs_and_Buttons\src/TM1650.h:34:7: note:   no known conversion for argument 1 from 'int' to 'TM1650&&'
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino: In function 'void setup()':
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:6:3: error: 'Wire' was not declared in this scope
   Wire.begin();
   ^~~~
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:7:12: error: 'class TM1650' has no member named 'init'; did you mean 'digits'?
   display1.init();
            ^~~~
            digits
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:8:12: error: 'class TM1650' has no member named 'displayString'; did you mean 'setDisplayToString'?
   display1.displayString("12");
            ^~~~~~~~~~~~~
            setDisplayToString
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:9:40: error: 'class TM1650' has no member named 'setDot'; did you mean 'start'?
   for (byte i = 0; i < 4; i++)display1.setDot(i, false);
                                        ^~~~~~
                                        start

exit status 1

Compilation error: no matching function for call to 'TM1650::TM1650(int)'

And before your edit this is what that code resulted in:
image

which code? you say my is not compiling.

#include <TM1650.h>
#include <TM16xxDisplay.h>
//              [data Pin]
//              |  [clock Pin]
//              |  |  [num Digits]
//              |  |  |  [activate Display]
//              |  |  |  |     [intensity]
//              |  |  |  |     |  [display mode]
//              ↓  ↓  ↓  ↓     ↓  ↓
TM1650 display1(2, 3, 4, true, 7   );

void setup(){display1.setDisplayToDecNumber(1234, 0b0000);}

void loop(){}
#include <TM1650.h>
#include <TM16xxDisplay.h>
//              [data Pin]
//              |  [clock Pin]
//              |  |  [num Digits]
//              |  |  |  [activate Display]
//              |  |  |  |     [intensity]
//              |  |  |  |     |  [display mode]
//              ↓  ↓  ↓  ↓     ↓  ↓
TM1650 display1(2, 3, 2, true, 7   );

void setup() {
  display1.init();
  display1.clear();
}

void loop() {
  static unsigned long n = 0;
  n = 34;
  display1.setDisplayToDecNumber(n, 0b0000);
  delay(3000);
  n = 234;
  display1.setDisplayToDecNumber(n , 0b0000);
  delay(3000);
  n = 1234;
  display1.setDisplayToDecNumber(n , 0b0000);
  delay(3000);

}

Errors:

C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino: In function 'void setup()':
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:13:12: error: 'class TM1650' has no member named 'init'; did you mean 'digits'?
   display1.init();
            ^~~~
            digits
C:\Users\admin\Documents\Arduino\TM1650\TM1650.ino:14:12: error: 'class TM1650' has no member named 'clear'
   display1.clear();
            ^~~~~

exit status 1

Compilation error: 'class TM1650' has no member named 'init'; did you mean 'digits'?

TM1650.h lib has no member init() and setDisplayToDecNumber(), but has clear(). speak to lib developer.

Looking at the pcb tracks only power, gnd, data and clock tracks seem to be going to the correct places. All others do not seem to be aligning like they are in the datasheet? Or maybe i am looking at it incorrectly?

what is the difference between tm1637-tm1638-tm1650 ?

As the github page says:

TM1616 7 x 4 n/a DIN/CLK/STB
TM1620 8 x 6 - 10 x 4 n/a DIN/CLK/STB
TM1628 10 x 7 - 13 x 4 10 x 2 multi DIO/CLK/STB
TM1630 7 x 5 - 8 x 4 7 x 1 multi DIO/CLK/STB
TM1637 8 x 6 (common anode) 8 x 2 single DIO/CLK
TM1638 10 x 8 8 x 3 multi DIO/CLK/STB Anode/Inverted/QYF*
TM1640 8 x 16 n/a DIN/CLK Anode*
TM1650 8 x 4 7 x 4 single DIO/CLK Not real I2C SDA/SCL
TM1652 8 x 5 - 7 x 6 n/a DIN Single data line
TM1668 10 x 7 - 13 x 4 10 x 2 multi DIO/CLK/STB

And looking at the datasheets for the 3 the pinouts look different (yet none look like the pinout of the pcb) and more pins.

TM1637:
image

TM1638:
image

TM1650:
image

#include <TM1650.h>
#include <TM16xxDisplay.h>

TM1650 module(2, 3, 4);  
TM16xxDisplay display(&module, 4);  

void setup() {
  display.println(F("HELLO !"));
}

int nCount=0;
void loop() {
  delay(1000);
  display.print("Count:");
  display.println(nCount++);
}

Just trying you first display.println(F("HELLO !")); looks like this:

Does this help any?

// Segment-bit: E D G F B A DP C
#define DISP_BLANK  0b00000000
#define DISP_0      0b11011101
#define DISP_1      0b00001001
#define DISP_2      0b11101100
#define DISP_3      0b01101101
#define DISP_4      0b00111001
#define DISP_5      0b01110101
#define DISP_6      0b11110101
#define DISP_7      0b00001101
#define DISP_8      0b11111101
#define DISP_9      0b01111101
#define DISP_DP     0b00000010
#define DISP_A      0b10111101
#define DISP_P      0b10111100
#define LED_OZONE           0   // 0b00000001
#define LED_SLEEP           1   // 0b00000010
#define LED_BOOST           2   // 0b00000100
#define LED_POWER           3   // 0b00001000
#define LED_PUMP_LOW_FLOW   4   // 0b00010000 12???
#define LED_LOW_SALT        5   // 0b00100000
#define LED_HIGH_SALT       6   // 0b01000000
#define LED_SERVICE         7   // 0b10000000
#define LEFT_DIGIT  1
#define RIGHT_DIGIT 0
#define STATUS_LEDS 2
#define DIGIT1              0x68
#define DIGIT2              0x6A
#define DIGIT3              0x6C
#define BUTTON_BOOST        0x44
#define BUTTON_TIMER        0x46
#define BUTTON_POWER        0x4C
#define BUTTON_LOCK         0x4E
#define BUTTON_SELF_CLEAN   0x74

maybe try this lib