Documentation Page.
//Coal_Basin_Servo.ino Test or application file#include "Coal_Basin_Servo.h"Coal_Basin_Servo servo;void setup() { servo.begin( ); while(1) { servo.do_servo(0,LEFT); delay(2000); servo.do_servo(0,RIGHT); delay(2000); }}void loop() {}--------------------------//*.cpp file#include "Coal_Basin_Signals.h"unsigned int _signal_status;Coal_Basin_Signals::Coal_Basin_Signals( ) { _clk = A0; _dat = A1; }void Coal_Basin_Signals::begin( ) { pinMode(_clk,OUTPUT); pinMode(_dat,OUTPUT); Serial.begin(115200); _signal_status = 65535; //turn right Coal_Basin_Signals::control_signals(1,RIGHT); //forces output }/*int Coal_Basin_Signals::_convert(int sig_no){ switch (sig_no){ case 1: return 0; break; case 2: return 1; break; case 3: return 7; break; case 4: return 6; break; case 5: return 5; break; case 6: return 4; break; case 7: return 2; break; case 8: return 3; break; case 9: return 8; break; case 10: return 9; break; case 11: return 10; break; case 12: return 11; break; case 13: return 15; break; case 14: return 14; break; case 15: return 13; break; case 16: return 12; break; default: return sig_no; }}*/void Coal_Basin_Signals::control_signals(int sig_no, int val){ // sig_no = Coal_Basin_Signals::_convert(sig_no); Serial.print(_signal_status); Serial.print(" "); Serial.print(val); Serial.print(" ");if (val) _signal_status |= (1<<sig_no); else _signal_status &= (~(1<<sig_no)); unsigned int sig_data = _signal_status; Serial.println(sig_data); for (int i=0; i<16; i++){ digitalWrite(_dat,sig_data&1); digitalWrite(_clk,1); digitalWrite(_clk,0); sig_data = sig_data>>1; Serial.print(sig_data); Serial.print(','); } Serial.println(); }-------------------------------------//Coal_Basin_Signals.h Header file#ifndef COAL_BASIN_SIGNALS_H#define COAL_BASIN_SIGNALS_H#include "Arduino.h"#define LEFT 0#define RIGHT 1#define signal1 0#define signal2 1#define signal3 7#define signal4 6#define signal5 5#define signal6 4#define signal7 2#define signal8 3#define signal9 8#define signal10 9#define signal11 10#define signal12 11#define signal13 15#define signal14 14#define signal15 13#define signal16 12class Coal_Basin_Signals {public: Coal_Basin_Signals ();void begin( ); void control_signals(int sig_no, int val);private: int _clk; int _dat; int _convert(int sig_no);};#endif