Librairie xbee.
Dependents: NerfUS-Coord NerfUSTarget
Fork of APP3_xbee by
XbeeTransmitter.cpp
00001 #include "RealXbeeTransmitter.hpp" 00002 #include <cassert> 00003 00004 RealXbeeTransmitter::RealXbeeTransmitter() 00005 { 00006 00007 } 00008 00009 void RealXbeeTransmitter::transmit(const std::vector<uint8_t>& bytes, int address[8]) 00010 { 00011 target_message *message = target_messages_to_transmit.alloc(); 00012 for(int i=0; i<message_size; i++) 00013 { 00014 message->bytes[i] = bytes[i]; 00015 } 00016 for(int i=0; i<8; i++) 00017 { 00018 message->address[i] = address[i]; 00019 } 00020 target_messages_to_transmit.put(message); 00021 } 00022 00023 void RealXbeeTransmitter::transmit(uint8_t bytes[4], int length, int address[8]) 00024 { 00025 target_message *message = target_messages_to_transmit.alloc(); 00026 for(int i=0; i<message_size; i++) 00027 { 00028 message->bytes[i] = bytes[i]; 00029 } 00030 for(int i=0; i<8; i++) 00031 { 00032 message->address[i] = address[i]; 00033 } 00034 target_messages_to_transmit.put(message); 00035 } 00036 00037 void RealXbeeTransmitter::init() 00038 { 00039 transmit_target_messages_thread.start(callback(this, &RealXbeeTransmitter::transmit_target_message)); 00040 } 00041 00042 void RealXbeeTransmitter::transmit_target_message() 00043 { 00044 while(true) 00045 { 00046 osEvent event = target_messages_to_transmit.get(); 00047 assert(event.status == osEventMail); 00048 00049 target_message *message = (target_message*)event.value.p; 00050 00051 send_message_via_xbee((char*) message->bytes, message_size, message->address); 00052 } 00053 }
Generated on Thu Jul 14 2022 15:12:33 by
1.7.2
