init
ComLink.h@0:c9f3777fe0b4, 2015-11-05 (annotated)
- Committer:
- gert_lauritsen
- Date:
- Thu Nov 05 12:47:33 2015 +0000
- Revision:
- 0:c9f3777fe0b4
- Child:
- 1:30b8effc5d74
Fungere med display
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 <Queue.h> |
gert_lauritsen | 0:c9f3777fe0b4 | 18 | #include "ComQueue.h" |
gert_lauritsen | 0:c9f3777fe0b4 | 19 | #include "mbed.h" |
gert_lauritsen | 0:c9f3777fe0b4 | 20 | |
gert_lauritsen | 0:c9f3777fe0b4 | 21 | #define RxSize 200 |
gert_lauritsen | 0:c9f3777fe0b4 | 22 | #define stx 2 |
gert_lauritsen | 0:c9f3777fe0b4 | 23 | //------------------------------------------------------------------------------------ |
gert_lauritsen | 0:c9f3777fe0b4 | 24 | |
gert_lauritsen | 0:c9f3777fe0b4 | 25 | typedef void (*callback_type)(int); |
gert_lauritsen | 0:c9f3777fe0b4 | 26 | /* |
gert_lauritsen | 0:c9f3777fe0b4 | 27 | Modtagne data: |
gert_lauritsen | 0:c9f3777fe0b4 | 28 | 1: Kp, Ki,Kd |
gert_lauritsen | 0:c9f3777fe0b4 | 29 | 2: Vset float |
gert_lauritsen | 0:c9f3777fe0b4 | 30 | 3: SetSpeed Manual byte 0..100 |
gert_lauritsen | 0:c9f3777fe0b4 | 31 | 4: ReadTempetur |
gert_lauritsen | 0:c9f3777fe0b4 | 32 | //Når vi modtager data vil type blive send i callback |
gert_lauritsen | 0:c9f3777fe0b4 | 33 | |
gert_lauritsen | 0:c9f3777fe0b4 | 34 | Sender: |
gert_lauritsen | 0:c9f3777fe0b4 | 35 | 1: ID, Firmware, |
gert_lauritsen | 0:c9f3777fe0b4 | 36 | 2: CalRecord, Vmax, PowerOn, PowerStart, |
gert_lauritsen | 0:c9f3777fe0b4 | 37 | 3: Gui, Vout, Iout, Irotor, Temp, Vbat, |
gert_lauritsen | 0:c9f3777fe0b4 | 38 | 4: Send ErrStateArr |
gert_lauritsen | 0:c9f3777fe0b4 | 39 | 5: Send SetStateArr |
gert_lauritsen | 0:c9f3777fe0b4 | 40 | 6: Write LCD |
gert_lauritsen | 0:c9f3777fe0b4 | 41 | 7: Clear LCD |
gert_lauritsen | 0:c9f3777fe0b4 | 42 | |
gert_lauritsen | 0:c9f3777fe0b4 | 43 | */ |
gert_lauritsen | 0:c9f3777fe0b4 | 44 | //------------------------------------------------------------------------------------ |
gert_lauritsen | 0:c9f3777fe0b4 | 45 | |
gert_lauritsen | 0:c9f3777fe0b4 | 46 | class ComLink { |
gert_lauritsen | 0:c9f3777fe0b4 | 47 | private: |
gert_lauritsen | 0:c9f3777fe0b4 | 48 | callback_type callback; |
gert_lauritsen | 0:c9f3777fe0b4 | 49 | RawSerial _com; |
gert_lauritsen | 0:c9f3777fe0b4 | 50 | char inbuff[RxSize]; |
gert_lauritsen | 0:c9f3777fe0b4 | 51 | void rxCallback(); |
gert_lauritsen | 0:c9f3777fe0b4 | 52 | void txCallback(); |
gert_lauritsen | 0:c9f3777fe0b4 | 53 | bool CRC(); //check af inkommende frames |
gert_lauritsen | 0:c9f3777fe0b4 | 54 | bool TxAktiv; |
gert_lauritsen | 0:c9f3777fe0b4 | 55 | void Senddata(unsigned char Dtype, unsigned char Dsize, char *str); |
gert_lauritsen | 0:c9f3777fe0b4 | 56 | void TxFloats(unsigned char Ftype, float *Fvalue, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 57 | |
gert_lauritsen | 0:c9f3777fe0b4 | 58 | public: |
gert_lauritsen | 0:c9f3777fe0b4 | 59 | char Data[RxSize]; |
gert_lauritsen | 0:c9f3777fe0b4 | 60 | unsigned char DSize; |
gert_lauritsen | 0:c9f3777fe0b4 | 61 | ComLink(PinName tx, PinName rx,callback_type _callback); |
gert_lauritsen | 0:c9f3777fe0b4 | 62 | //void Updategui(); |
gert_lauritsen | 0:c9f3777fe0b4 | 63 | |
gert_lauritsen | 0:c9f3777fe0b4 | 64 | //Sender |
gert_lauritsen | 0:c9f3777fe0b4 | 65 | void StatusUpdate(float Vout,float Iout,float Irotor,float Temp,float Vbat); |
gert_lauritsen | 0:c9f3777fe0b4 | 66 | void TxErrStateArr(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 67 | void TxSetStateArr(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 68 | |
gert_lauritsen | 0:c9f3777fe0b4 | 69 | void TxCalRecord(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 70 | void TxStatus(float *value, int Size); |
gert_lauritsen | 0:c9f3777fe0b4 | 71 | |
gert_lauritsen | 0:c9f3777fe0b4 | 72 | void WriteLCD(unsigned char x,unsigned char y, char *str); |
gert_lauritsen | 0:c9f3777fe0b4 | 73 | void cls(); |
gert_lauritsen | 0:c9f3777fe0b4 | 74 | }; |
gert_lauritsen | 0:c9f3777fe0b4 | 75 | |
gert_lauritsen | 0:c9f3777fe0b4 | 76 | #endif |