init

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?

UserRevisionLine numberNew 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