version with updated libs

Dependencies:   F7_Ethernet mbed MbedJSONValue LCD_DISCO_F746NG mbed-rtos BSP_DISCO_F746NG CANMsg NetworkAPI SDFileSystem_Warning_Fixed GroveStreamsmodified LcdDiscoF746NgTracer JSON

Committer:
jeanpierreaulas
Date:
Wed Sep 02 12:54:45 2020 +0000
Branch:
jpa
Revision:
3:2de8e4771674
Child:
4:fbbf5d1785e7
Ethernet ok, Display OK, CAN Ok, SerialUSB OK

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jeanpierreaulas 3:2de8e4771674 1 #include "mbed.h"
jeanpierreaulas 3:2de8e4771674 2
jeanpierreaulas 3:2de8e4771674 3 const int kMaxBufferSize = 125;
jeanpierreaulas 3:2de8e4771674 4 volatile char bufferSerialUSB[kMaxBufferSize+3];
jeanpierreaulas 3:2de8e4771674 5 volatile int idxSerialIntUSB = 0;
jeanpierreaulas 3:2de8e4771674 6 int idxSerialUserUSB = 0;
jeanpierreaulas 3:2de8e4771674 7 volatile int msgSerialUSB = 0;
jeanpierreaulas 3:2de8e4771674 8
jeanpierreaulas 3:2de8e4771674 9 //RawSerial
jeanpierreaulas 3:2de8e4771674 10 RawSerial serialUSB(USBTX, USBRX); // serial PC
jeanpierreaulas 3:2de8e4771674 11 Serial serial2(PC_6, PC_7); // TX, RX for udp bridge
jeanpierreaulas 3:2de8e4771674 12 Serial serial7(PF_7, PF_6); // TX, RX for extension
jeanpierreaulas 3:2de8e4771674 13 volatile char x;
jeanpierreaulas 3:2de8e4771674 14 // ---------------------------------------------------
jeanpierreaulas 3:2de8e4771674 15 void serialUSB_int_recv()
jeanpierreaulas 3:2de8e4771674 16 {
jeanpierreaulas 3:2de8e4771674 17 if(serialUSB.readable())
jeanpierreaulas 3:2de8e4771674 18 {
jeanpierreaulas 3:2de8e4771674 19 bufferSerialUSB[idxSerialIntUSB]=(serialUSB.getc());
jeanpierreaulas 3:2de8e4771674 20 idxSerialIntUSB++;
jeanpierreaulas 3:2de8e4771674 21 if (idxSerialIntUSB >= kMaxBufferSize) {idxSerialIntUSB = 0;}
jeanpierreaulas 3:2de8e4771674 22 bufferSerialUSB[idxSerialIntUSB]= 0;
jeanpierreaulas 3:2de8e4771674 23 msgSerialUSB = 1;
jeanpierreaulas 3:2de8e4771674 24 }
jeanpierreaulas 3:2de8e4771674 25 return;
jeanpierreaulas 3:2de8e4771674 26 }
jeanpierreaulas 3:2de8e4771674 27
jeanpierreaulas 3:2de8e4771674 28 void initSerial()
jeanpierreaulas 3:2de8e4771674 29 {
jeanpierreaulas 3:2de8e4771674 30 serialUSB.baud(115200);
jeanpierreaulas 3:2de8e4771674 31 serialUSB.attach(&serialUSB_int_recv, Serial::RxIrq);
jeanpierreaulas 3:2de8e4771674 32 serial2.baud(115200); // required for UDP bridge
jeanpierreaulas 3:2de8e4771674 33 serial7.baud(115200); // required for tasmota
jeanpierreaulas 3:2de8e4771674 34 //serial7.attach(&pc_recv, Serial::RxIrq);
jeanpierreaulas 3:2de8e4771674 35
jeanpierreaulas 3:2de8e4771674 36 bufferSerialUSB[0] = '\0';
jeanpierreaulas 3:2de8e4771674 37
jeanpierreaulas 3:2de8e4771674 38 }
jeanpierreaulas 3:2de8e4771674 39
jeanpierreaulas 3:2de8e4771674 40 void sendSerialUSB(char * str)
jeanpierreaulas 3:2de8e4771674 41 {
jeanpierreaulas 3:2de8e4771674 42 serialUSB.printf(str);
jeanpierreaulas 3:2de8e4771674 43 }
jeanpierreaulas 3:2de8e4771674 44
jeanpierreaulas 3:2de8e4771674 45 void receiveSerialUSB()
jeanpierreaulas 3:2de8e4771674 46 {
jeanpierreaulas 3:2de8e4771674 47 while(idxSerialIntUSB != idxSerialUserUSB)
jeanpierreaulas 3:2de8e4771674 48 {
jeanpierreaulas 3:2de8e4771674 49 x=bufferSerialUSB[idxSerialUserUSB];
jeanpierreaulas 3:2de8e4771674 50 printf("%c",x);
jeanpierreaulas 3:2de8e4771674 51 idxSerialUserUSB = idxSerialUserUSB + 1;
jeanpierreaulas 3:2de8e4771674 52 if (idxSerialUserUSB >= kMaxBufferSize) {idxSerialUserUSB = 0;}
jeanpierreaulas 3:2de8e4771674 53 }
jeanpierreaulas 3:2de8e4771674 54 msgSerialUSB = 0;
jeanpierreaulas 3:2de8e4771674 55 }
jeanpierreaulas 3:2de8e4771674 56
jeanpierreaulas 3:2de8e4771674 57 void sendserial2(char * str)
jeanpierreaulas 3:2de8e4771674 58 {
jeanpierreaulas 3:2de8e4771674 59 serial2.printf(str);
jeanpierreaulas 3:2de8e4771674 60 }
jeanpierreaulas 3:2de8e4771674 61
jeanpierreaulas 3:2de8e4771674 62 void sendserial7(char * str)
jeanpierreaulas 3:2de8e4771674 63 {
jeanpierreaulas 3:2de8e4771674 64 serial7.printf(str);
jeanpierreaulas 3:2de8e4771674 65 }