tes

Dependencies:   NetServices mbed C027_Supports mbed-rpcx

Committer:
aldoao
Date:
Wed Sep 11 06:32:20 2019 +0000
Revision:
1:f7d9b0530b73
Parent:
0:64967b7043c2
tipe,1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
irsanjul 0:64967b7043c2 1 #include "mbed.h"
irsanjul 0:64967b7043c2 2 #include "CommChannel.h"
irsanjul 0:64967b7043c2 3
irsanjul 0:64967b7043c2 4 extern Serial dbg;
irsanjul 0:64967b7043c2 5
irsanjul 0:64967b7043c2 6 //-----------------------------------------------------------------
irsanjul 0:64967b7043c2 7 extern std::vector<int> RCV_BUFF; // temporary buffer receiving progress
irsanjul 0:64967b7043c2 8 std::vector<int> RCVD; // buffer completed receiving
irsanjul 0:64967b7043c2 9 extern int timerRxTOutCnt;
irsanjul 0:64967b7043c2 10
irsanjul 0:64967b7043c2 11 //-----------------------------------------------------------------
irsanjul 0:64967b7043c2 12 // Mechanism for receive timeout
irsanjul 0:64967b7043c2 13 //
irsanjul 0:64967b7043c2 14 extern int timerRxTOutCnt;
irsanjul 0:64967b7043c2 15
irsanjul 0:64967b7043c2 16 //-----------------------------------------------------------------
irsanjul 0:64967b7043c2 17 // Serial definition
irsanjul 0:64967b7043c2 18 //
irsanjul 0:64967b7043c2 19 extern Serial sock;
irsanjul 0:64967b7043c2 20
irsanjul 0:64967b7043c2 21 //-----------------------------------------------------------------
irsanjul 0:64967b7043c2 22 // Wrapper class
irsanjul 0:64967b7043c2 23 //
irsanjul 0:64967b7043c2 24 CommChannel::CommChannel()
irsanjul 0:64967b7043c2 25 {
irsanjul 0:64967b7043c2 26 dbg.printf("<CommChannel>");
irsanjul 0:64967b7043c2 27 }
irsanjul 0:64967b7043c2 28
irsanjul 0:64967b7043c2 29 CommChannel::~CommChannel()
irsanjul 0:64967b7043c2 30 {
irsanjul 0:64967b7043c2 31
irsanjul 0:64967b7043c2 32 }
irsanjul 0:64967b7043c2 33
irsanjul 0:64967b7043c2 34 void CommChannel::connect(const std::string &host)
irsanjul 0:64967b7043c2 35 {
irsanjul 0:64967b7043c2 36 }
irsanjul 0:64967b7043c2 37
irsanjul 0:64967b7043c2 38 int CommChannel::dataAvailable()
irsanjul 0:64967b7043c2 39 {
irsanjul 0:64967b7043c2 40 return RCVD.size();
irsanjul 0:64967b7043c2 41 }
irsanjul 0:64967b7043c2 42
irsanjul 0:64967b7043c2 43 std::vector<int> CommChannel::read()
irsanjul 0:64967b7043c2 44 {
irsanjul 0:64967b7043c2 45 std::vector<int> result;
irsanjul 0:64967b7043c2 46
irsanjul 0:64967b7043c2 47 for(int i=0; i<RCVD.size(); i++)
irsanjul 0:64967b7043c2 48 result.push_back(RCVD[i]);
irsanjul 0:64967b7043c2 49
irsanjul 0:64967b7043c2 50 RCVD.clear();
irsanjul 0:64967b7043c2 51 return result;
irsanjul 0:64967b7043c2 52 }
irsanjul 0:64967b7043c2 53
irsanjul 0:64967b7043c2 54 void CommChannel::write(const std::vector<int> &s)
irsanjul 0:64967b7043c2 55 {
irsanjul 0:64967b7043c2 56 for(int i=0; i<(int)s.size(); i++)
irsanjul 0:64967b7043c2 57 {
irsanjul 0:64967b7043c2 58 sock.putc(s[i] & 0x0FF);
irsanjul 0:64967b7043c2 59 }
irsanjul 0:64967b7043c2 60 }
irsanjul 0:64967b7043c2 61
irsanjul 0:64967b7043c2 62 void CommChannel::Tick10ms()
irsanjul 0:64967b7043c2 63 {
irsanjul 0:64967b7043c2 64 timerRxTOutCnt++;
irsanjul 0:64967b7043c2 65 if(timerRxTOutCnt >= 10)
irsanjul 0:64967b7043c2 66 {
irsanjul 0:64967b7043c2 67 timerRxTOutCnt = 0;
irsanjul 0:64967b7043c2 68
irsanjul 0:64967b7043c2 69 if(RCV_BUFF.size() > 0)
irsanjul 0:64967b7043c2 70 {
irsanjul 0:64967b7043c2 71 for(int i=0; i<RCV_BUFF.size(); i++)
irsanjul 0:64967b7043c2 72 {
irsanjul 0:64967b7043c2 73 RCVD.push_back(RCV_BUFF[i]);
irsanjul 0:64967b7043c2 74 dbg.printf("[%02X]", RCV_BUFF[i] & 0x0FF);
irsanjul 0:64967b7043c2 75 }
irsanjul 0:64967b7043c2 76 RCV_BUFF.clear();
irsanjul 0:64967b7043c2 77 }
irsanjul 0:64967b7043c2 78 }
irsanjul 0:64967b7043c2 79 }
irsanjul 0:64967b7043c2 80
irsanjul 0:64967b7043c2 81 //-----------------------------------------------------------------