zeus 3110
/
SteeringController
USB HID Keyboard and car audio controller for steering of TOYOTA car
DEH970Ctrl.h@0:30fe2eec5271, 2015-08-20 (annotated)
- Committer:
- zeus3110
- Date:
- Thu Aug 20 11:59:37 2015 +0000
- Revision:
- 0:30fe2eec5271
First release
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zeus3110 | 0:30fe2eec5271 | 1 | #ifndef _DEH970_CTRL_H_ |
zeus3110 | 0:30fe2eec5271 | 2 | #define _DEH970_CTRL_H_ |
zeus3110 | 0:30fe2eec5271 | 3 | |
zeus3110 | 0:30fe2eec5271 | 4 | #include "mbed.h" |
zeus3110 | 0:30fe2eec5271 | 5 | |
zeus3110 | 0:30fe2eec5271 | 6 | #define DATA_LENGTH 4 |
zeus3110 | 0:30fe2eec5271 | 7 | #define IR_ON 0.5 |
zeus3110 | 0:30fe2eec5271 | 8 | #define IR_OFF 0 |
zeus3110 | 0:30fe2eec5271 | 9 | |
zeus3110 | 0:30fe2eec5271 | 10 | const int BurstPeriod=26; |
zeus3110 | 0:30fe2eec5271 | 11 | const timestamp_t LeaderOn=8628; |
zeus3110 | 0:30fe2eec5271 | 12 | const timestamp_t LeaderOff=4137; |
zeus3110 | 0:30fe2eec5271 | 13 | const timestamp_t DataOn=626; |
zeus3110 | 0:30fe2eec5271 | 14 | const timestamp_t DataOff1=1488; |
zeus3110 | 0:30fe2eec5271 | 15 | const timestamp_t DataOff0=424; |
zeus3110 | 0:30fe2eec5271 | 16 | const timestamp_t TrailerOn=626; |
zeus3110 | 0:30fe2eec5271 | 17 | const timestamp_t TrailerOff=25395; |
zeus3110 | 0:30fe2eec5271 | 18 | |
zeus3110 | 0:30fe2eec5271 | 19 | class DEH970Controller { |
zeus3110 | 0:30fe2eec5271 | 20 | protected: |
zeus3110 | 0:30fe2eec5271 | 21 | private: |
zeus3110 | 0:30fe2eec5271 | 22 | bool Locked; |
zeus3110 | 0:30fe2eec5271 | 23 | PwmOut *IRPort; |
zeus3110 | 0:30fe2eec5271 | 24 | int DataBitPos,DataBytePos; |
zeus3110 | 0:30fe2eec5271 | 25 | unsigned char *Data; |
zeus3110 | 0:30fe2eec5271 | 26 | bool DataBit; |
zeus3110 | 0:30fe2eec5271 | 27 | Timeout *TimeOutIR; |
zeus3110 | 0:30fe2eec5271 | 28 | |
zeus3110 | 0:30fe2eec5271 | 29 | |
zeus3110 | 0:30fe2eec5271 | 30 | public: |
zeus3110 | 0:30fe2eec5271 | 31 | bool IsLocked(); |
zeus3110 | 0:30fe2eec5271 | 32 | DEH970Controller(PwmOut *Port); |
zeus3110 | 0:30fe2eec5271 | 33 | ~DEH970Controller(); |
zeus3110 | 0:30fe2eec5271 | 34 | void PwmPortInit(); |
zeus3110 | 0:30fe2eec5271 | 35 | void SendSignal(unsigned char *Dp); |
zeus3110 | 0:30fe2eec5271 | 36 | void SendLeaderOn(); |
zeus3110 | 0:30fe2eec5271 | 37 | void SendData(); |
zeus3110 | 0:30fe2eec5271 | 38 | |
zeus3110 | 0:30fe2eec5271 | 39 | void SendVolPlus(); |
zeus3110 | 0:30fe2eec5271 | 40 | void SendVolMinus(); |
zeus3110 | 0:30fe2eec5271 | 41 | }; |
zeus3110 | 0:30fe2eec5271 | 42 | |
zeus3110 | 0:30fe2eec5271 | 43 | #endif |