init

Committer:
gert_lauritsen
Date:
Thu Nov 04 18:01:57 2021 +0000
Revision:
5:b2bc6e87890f
Parent:
2:c1599cad82c3
pub

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 "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 2:c1599cad82c3 24
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 RawSerial _com;
gert_lauritsen 2:c1599cad82c3 48 int _Dtype;
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 2:c1599cad82c3 60 ComLink(PinName tx, PinName rx);
gert_lauritsen 0:c9f3777fe0b4 61 //void Updategui();
gert_lauritsen 2:c1599cad82c3 62 int Work();
gert_lauritsen 0:c9f3777fe0b4 63
gert_lauritsen 0:c9f3777fe0b4 64 //Sender
gert_lauritsen 5:b2bc6e87890f 65 void StatusUpdate(float Vout,float Iout,float Irotor); //Generator data
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 2:c1599cad82c3 72 void TxMessData(unsigned char Ftype, void *SValue, int Size); //Måledata sendes til PC
gert_lauritsen 2:c1599cad82c3 73 void WriteConsol(char *str); //Skriver data til linux consol (debug/indstilling)
gert_lauritsen 2:c1599cad82c3 74
gert_lauritsen 0:c9f3777fe0b4 75 void WriteLCD(unsigned char x,unsigned char y, char *str);
gert_lauritsen 0:c9f3777fe0b4 76 void cls();
gert_lauritsen 0:c9f3777fe0b4 77 };
gert_lauritsen 0:c9f3777fe0b4 78
gert_lauritsen 0:c9f3777fe0b4 79 #endif