init
ComLink.h@1:30b8effc5d74, 2016-02-26 (annotated)
- Committer:
- gert_lauritsen
- Date:
- Fri Feb 26 15:12:50 2016 +0000
- Revision:
- 1:30b8effc5d74
- Parent:
- 0:c9f3777fe0b4
- Child:
- 2:c1599cad82c3
Fungerende version af comlink
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gert_lauritsen | 0:c9f3777fe0b4 | 1 | //------------------------------------------------------------------------------------ |
gert_lauritsen | 0:c9f3777fe0b4 | 2 | // : |
gert_lauritsen | 0:c9f3777fe0b4 | 3 | // Title : Comlink |
gert_lauritsen | 0:c9f3777fe0b4 | 4 | // Filename : Queue.h |
gert_lauritsen | 0:c9f3777fe0b4 | 5 | // Author : Gert Lauritsen |
gert_lauritsen | 0:c9f3777fe0b4 | 6 | // Origin Date : 26/05/2015 |
gert_lauritsen | 0:c9f3777fe0b4 | 7 | // Version : 1.000 |
gert_lauritsen | 0:c9f3777fe0b4 | 8 | // Compiler : Keil |
gert_lauritsen | 0:c9f3777fe0b4 | 9 | // Target : |
gert_lauritsen | 0:c9f3777fe0b4 | 10 | // Notes : None |
gert_lauritsen | 0:c9f3777fe0b4 | 11 | // |
gert_lauritsen | 0:c9f3777fe0b4 | 12 | //------------------------------------------------------------------------------------ |
gert_lauritsen | 0:c9f3777fe0b4 | 13 | |
gert_lauritsen | 0:c9f3777fe0b4 | 14 | #ifndef ComLink_H |
gert_lauritsen | 0:c9f3777fe0b4 | 15 | #define ComLink_H |
gert_lauritsen | 0:c9f3777fe0b4 | 16 | |
gert_lauritsen | 0:c9f3777fe0b4 | 17 | #include "ComQueue.h" |
gert_lauritsen | 0:c9f3777fe0b4 | 18 | #include "mbed.h" |
gert_lauritsen | 0:c9f3777fe0b4 | 19 | |
gert_lauritsen | 0:c9f3777fe0b4 | 20 | #define RxSize 200 |
gert_lauritsen | 0:c9f3777fe0b4 | 21 | #define stx 2 |
gert_lauritsen | 0:c9f3777fe0b4 | 22 | //------------------------------------------------------------------------------------ |
gert_lauritsen | 0:c9f3777fe0b4 | 23 | |
gert_lauritsen | 0:c9f3777fe0b4 | 24 | typedef void (*callback_type)(int); |
gert_lauritsen | 0:c9f3777fe0b4 | 25 | /* |
gert_lauritsen | 0:c9f3777fe0b4 | 26 | Modtagne data: |
gert_lauritsen | 0:c9f3777fe0b4 | 27 | 1: Kp, Ki,Kd |
gert_lauritsen | 0:c9f3777fe0b4 | 28 | 2: Vset float |
gert_lauritsen | 0:c9f3777fe0b4 | 29 | 3: SetSpeed Manual byte 0..100 |
gert_lauritsen | 0:c9f3777fe0b4 | 30 | 4: ReadTempetur |
gert_lauritsen | 0:c9f3777fe0b4 | 31 | //Når vi modtager data vil type blive send i callback |
gert_lauritsen | 0:c9f3777fe0b4 | 32 | |
gert_lauritsen | 0:c9f3777fe0b4 | 33 | Sender: |
gert_lauritsen | 0:c9f3777fe0b4 | 34 | 1: ID, Firmware, |
gert_lauritsen | 0:c9f3777fe0b4 | 35 | 2: CalRecord, Vmax, PowerOn, PowerStart, |
gert_lauritsen | 0:c9f3777fe0b4 | 36 | 3: Gui, Vout, Iout, Irotor, Temp, Vbat, |
gert_lauritsen | 0:c9f3777fe0b4 | 37 | 4: Send ErrStateArr |
gert_lauritsen | 0:c9f3777fe0b4 | 38 | 5: Send SetStateArr |
gert_lauritsen | 0:c9f3777fe0b4 | 39 | 6: Write LCD |
gert_lauritsen | 0:c9f3777fe0b4 | 40 | 7: Clear LCD |
gert_lauritsen | 0:c9f3777fe0b4 | 41 | |
gert_lauritsen | 0:c9f3777fe0b4 | 42 | */ |
gert_lauritsen | 0:c9f3777fe0b4 | 43 | //------------------------------------------------------------------------------------ |
gert_lauritsen | 0:c9f3777fe0b4 | 44 | |
gert_lauritsen | 0:c9f3777fe0b4 | 45 | class ComLink { |
gert_lauritsen | 0:c9f3777fe0b4 | 46 | private: |
gert_lauritsen | 0:c9f3777fe0b4 | 47 | callback_type callback; |
gert_lauritsen | 0:c9f3777fe0b4 | 48 | RawSerial _com; |
gert_lauritsen | 0:c9f3777fe0b4 | 49 | char inbuff[RxSize]; |
gert_lauritsen | 0:c9f3777fe0b4 | 50 | void rxCallback(); |
gert_lauritsen | 0:c9f3777fe0b4 | 51 | void txCallback(); |
gert_lauritsen | 0:c9f3777fe0b4 | 52 | bool CRC(); //check af inkommende frames |
gert_lauritsen | 0:c9f3777fe0b4 | 53 | bool TxAktiv; |
gert_lauritsen | 0:c9f3777fe0b4 | 54 | void Senddata(unsigned char Dtype, unsigned char Dsize, char *str); |
gert_lauritsen | 0:c9f3777fe0b4 | 55 | void TxFloats(unsigned char Ftype, float *Fvalue, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 56 | |
gert_lauritsen | 0:c9f3777fe0b4 | 57 | public: |
gert_lauritsen | 0:c9f3777fe0b4 | 58 | char Data[RxSize]; |
gert_lauritsen | 0:c9f3777fe0b4 | 59 | unsigned char DSize; |
gert_lauritsen | 0:c9f3777fe0b4 | 60 | ComLink(PinName tx, PinName rx,callback_type _callback); |
gert_lauritsen | 0:c9f3777fe0b4 | 61 | //void Updategui(); |
gert_lauritsen | 0:c9f3777fe0b4 | 62 | |
gert_lauritsen | 0:c9f3777fe0b4 | 63 | //Sender |
gert_lauritsen | 0:c9f3777fe0b4 | 64 | void StatusUpdate(float Vout,float Iout,float Irotor,float Temp,float Vbat); |
gert_lauritsen | 0:c9f3777fe0b4 | 65 | void TxErrStateArr(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 66 | void TxSetStateArr(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 67 | |
gert_lauritsen | 0:c9f3777fe0b4 | 68 | void TxCalRecord(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 69 | void TxStatus(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 70 | |
gert_lauritsen | 0:c9f3777fe0b4 | 71 | void WriteLCD(unsigned char x,unsigned char y, char *str); |
gert_lauritsen | 0:c9f3777fe0b4 | 72 | void cls(); |
gert_lauritsen | 0:c9f3777fe0b4 | 73 | }; |
gert_lauritsen | 0:c9f3777fe0b4 | 74 | |
gert_lauritsen | 0:c9f3777fe0b4 | 75 | #endif |