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(); } }
M5451.h
- Committer:
- jirrick
- Date:
- 2020-03-01
- Revision:
- 0:b21b3517a1d6
- Child:
- 1:db1e69c22bc6
File content as of revision 0:b21b3517a1d6:
#ifndef JIRRICK_M5451_H #define JIRRICK_M5451_H #include "mbed.h" #define JIRRICK_M5451_WAIT 1 #define JIRRICK_M5451_OUTPUTS 35 class M5451 { public: M5451(PinName dataPin, PinName clockPin); int outputs(); void setState(uint64_t state); void setBit(char position, char value); void setAllBits(char value); void update(); uint64_t getState(); private: DigitalOut _dataPin; DigitalOut _clockPin; uint64_t _state; void _send(char bit); }; #endif