Laurent m
/
APP3
asd
Revision 0:3c2ab0fec740, committed 2016-02-08
- Comitter:
- manl2003
- Date:
- Mon Feb 08 16:13:38 2016 +0000
- Commit message:
- asdad
Changed in this revision
diff -r 000000000000 -r 3c2ab0fec740 CoordCommands.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CoordCommands.cpp Mon Feb 08 16:13:38 2016 +0000 @@ -0,0 +1,67 @@ +#include "CoordCommands.h" + +CoordinatorCommands::CoordinatorCommands(Serial* _serialXB, Serial* _pc, char* panID, int panIDLength) : +m_InFrame(false) +{ + m_Xbee = _serialXB; + m_PC = _pc; + SetPanID(panID, panIDLength); +} +void CoordinatorCommands::SetPanID(char* panID, int panIDLength) +{ + //7E 00 09 09 3D 49 44 C0 FF EE BA BE 07 + SendCommand( 0x00, 0x09, 0x09, 0x40, 0x49, 0x44, panID, panIDLength); +} + +void CoordinatorCommands::SendCommand(char lengthMSB, char lengthLSB, char frameType, char frameID, char aTCommandMSB, char aTCommandLSB, char* parameterValue, int paramLength) +{ + char cmd[100]; + int cmdLength; + cmd[0] = START_DELIMITER; + cmd[1] = lengthMSB; + cmd[2] = lengthLSB; + cmd[3] = frameType; + cmd[4] = frameID; + cmd[5] = aTCommandMSB; + cmd[6] = aTCommandLSB; + + cmdLength = 6; + for(int i = 0 ; i < paramLength ; i++) + { + cmdLength++; + cmd[cmdLength] = parameterValue[i]; + } + + uint8_t checksum = 0; + for(int i = 3 ; i <= cmdLength ; i++ ) + { + checksum += cmd[i]; + } + + cmdLength++; + cmd[cmdLength] = 0xFF - checksum; + + if(m_Xbee->writeable()) + { + for(int i = 0 ; i <= cmdLength ; i++) + { + m_Xbee->putc(cmd[i]); + m_PC->printf("%X", cmd[i]); + } + } +} + +void CoordinatorCommands::LectureDeTrame() +{ + if(m_Xbee->readable()) + { + char currentChar = m_Xbee->getc(); + + if(m_InFrame) + { + + } + + } + +} \ No newline at end of file
diff -r 000000000000 -r 3c2ab0fec740 CoordCommands.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CoordCommands.h Mon Feb 08 16:13:38 2016 +0000 @@ -0,0 +1,17 @@ +#include "mbed.h" + +class CoordinatorCommands +{ + +public: + CoordinatorCommands(Serial* _serialXB, Serial* _pc, char* panID, int panIDLength); + void SendCommand(char lengthMSB, char lengthLSB, char frameType, char frameID, char aTCommandMSB, char aTCommandLSB, char* parameterValue, int paramLength); + void SetPanID(char* panID, int panIDLength); + void LectureDeTrame(); + +private: + Serial* m_Xbee; + Serial* m_PC; + bool m_InFrame; + static const char START_DELIMITER = 0x7E; +}; \ No newline at end of file
diff -r 000000000000 -r 3c2ab0fec740 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Feb 08 16:13:38 2016 +0000 @@ -0,0 +1,43 @@ +#include "mbed.h" +#include "CoordCommands.h" + +DigitalOut reset(p8); +Serial pc(USBTX,USBRX); +Serial xbee(p13, p14); + + +int main() { + + + reset = 0; + wait(0.4); + reset = 1; + + wait(1); + + while(xbee.readable()) + { + char dompe = xbee.getc(); + } + + //Temp + char panID[5]; + panID[0] = 0xC0; + panID[1] = 0xFF; + panID[2] = 0xEE; + panID[3] = 0xBA; + panID[4] = 0xBE; + + CoordinatorCommands coord(&xbee, &pc, panID, 5); + + while(1) { + if(pc.readable()) + { + xbee.putc(pc.getc()); + } + if(xbee.readable()) + { + pc.putc(xbee.getc()); + } + } +}
diff -r 000000000000 -r 3c2ab0fec740 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Feb 08 16:13:38 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/6f327212ef96 \ No newline at end of file