Simple control for ST M5451 LED driver.

Sample usage

#include "mbed.h"
#include "M5451.h"

M5451 m5451(D8, D7);

void toggleOneByOne(){
    for(char i = 0; i < m5451.outputs(); i++){
        m5451.toggleBit(i);
        m5451.update();
        wait_ms(250);
        m5451.toggleBit(i);
    }
}

int main() {
    while(1) {
        m5451.setAllBits(0);
        toggleOneByOne();
        m5451.setAllBits(1);
        toggleOneByOne();
    }
}
Revision:
1:db1e69c22bc6
Parent:
0:b21b3517a1d6
--- a/M5451.h	Sun Mar 01 10:20:26 2020 +0000
+++ b/M5451.h	Sun Mar 01 11:41:57 2020 +0000
@@ -9,10 +9,11 @@
 class M5451 {
 public:
     M5451(PinName dataPin, PinName clockPin);
-    int outputs();
+    short outputs();
     void setState(uint64_t state);
-    void setBit(char position, char value);
-    void setAllBits(char value);
+    void setBit(short position, short value);
+    void toggleBit(short position);
+    void setAllBits(short value);
     void update();
     uint64_t getState();
   
@@ -20,7 +21,7 @@
     DigitalOut _dataPin;
     DigitalOut _clockPin;
     uint64_t _state;
-    void _send(char bit);
+    void _send(short bit);
 };
  
 #endif
\ No newline at end of file