kobe leysen / Mbed 2 deprecated TEST

Dependencies:   DAQ mbed-rtos mbed

Committer:
leysenkobe
Date:
Wed Apr 23 11:10:26 2014 +0000
Revision:
0:6ee88b4152dc
Child:
1:fa51edf89e71
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
leysenkobe 0:6ee88b4152dc 1 #include "Module.h"
leysenkobe 0:6ee88b4152dc 2
leysenkobe 0:6ee88b4152dc 3 Serial pl(USBTX, USBRX);
leysenkobe 0:6ee88b4152dc 4
leysenkobe 0:6ee88b4152dc 5 Module::Module()
leysenkobe 0:6ee88b4152dc 6 {
leysenkobe 0:6ee88b4152dc 7 pl.baud(230400);
leysenkobe 0:6ee88b4152dc 8
leysenkobe 0:6ee88b4152dc 9 //objects
leysenkobe 0:6ee88b4152dc 10 this->daq = new DummyDAQ();
leysenkobe 0:6ee88b4152dc 11 this->uart = new Uart(this);
leysenkobe 0:6ee88b4152dc 12
leysenkobe 0:6ee88b4152dc 13 //local variables
leysenkobe 0:6ee88b4152dc 14 this->ID[0] = 0;
leysenkobe 0:6ee88b4152dc 15 this->ID[1] = 1;
leysenkobe 0:6ee88b4152dc 16
leysenkobe 0:6ee88b4152dc 17 this->IP[0] = 0xff;
leysenkobe 0:6ee88b4152dc 18 this->IP[1] = 0xff;
leysenkobe 0:6ee88b4152dc 19 this->IP[2] = 0xff;
leysenkobe 0:6ee88b4152dc 20 this->IP[3] = 0xff;
leysenkobe 0:6ee88b4152dc 21
leysenkobe 0:6ee88b4152dc 22 this->version[0] = 0;
leysenkobe 0:6ee88b4152dc 23 this->version[1] = 0;
leysenkobe 0:6ee88b4152dc 24
leysenkobe 0:6ee88b4152dc 25 this->enableData= false;
leysenkobe 0:6ee88b4152dc 26 this->packageSize = 20;
leysenkobe 0:6ee88b4152dc 27 this->sampleNumber = 0;
leysenkobe 0:6ee88b4152dc 28 this->sampleRate = 250; //default waarde - let op, digitale filters moeten herberekend worden bij het veranderen van de sampleRate
leysenkobe 0:6ee88b4152dc 29 this->dataPacket = NULL;
leysenkobe 0:6ee88b4152dc 30
leysenkobe 0:6ee88b4152dc 31 this->wifiEnabled = false;
leysenkobe 0:6ee88b4152dc 32 this->creatDataPacket();
leysenkobe 0:6ee88b4152dc 33 }
leysenkobe 0:6ee88b4152dc 34 Module::~Module(void)
leysenkobe 0:6ee88b4152dc 35 {
leysenkobe 0:6ee88b4152dc 36 delete uart;
leysenkobe 0:6ee88b4152dc 37 delete daq;
leysenkobe 0:6ee88b4152dc 38 }
leysenkobe 0:6ee88b4152dc 39
leysenkobe 0:6ee88b4152dc 40 //main loop
leysenkobe 0:6ee88b4152dc 41 void Module::mainLoop(void)
leysenkobe 0:6ee88b4152dc 42 {
leysenkobe 0:6ee88b4152dc 43 this->sendAlivePacket();
leysenkobe 0:6ee88b4152dc 44 }
leysenkobe 0:6ee88b4152dc 45
leysenkobe 0:6ee88b4152dc 46 void Module::sendAlivePacket()
leysenkobe 0:6ee88b4152dc 47 {
leysenkobe 0:6ee88b4152dc 48 uint8_t *reserved = new uint8_t[2];
leysenkobe 0:6ee88b4152dc 49 reserved[0] = 0x00;
leysenkobe 0:6ee88b4152dc 50 reserved[1] = 0x00;
leysenkobe 0:6ee88b4152dc 51
leysenkobe 0:6ee88b4152dc 52 Packet *alive = new Packet(this->ID, PACKET_ALIVE, reserved);
leysenkobe 0:6ee88b4152dc 53 this->sendPacket(alive);
leysenkobe 0:6ee88b4152dc 54 }
leysenkobe 0:6ee88b4152dc 55
leysenkobe 0:6ee88b4152dc 56 void Module::meting_thread()
leysenkobe 0:6ee88b4152dc 57 {
leysenkobe 0:6ee88b4152dc 58 if(this->dataPacket->addMeasurement(this->daq->measure()))
leysenkobe 0:6ee88b4152dc 59 {
leysenkobe 0:6ee88b4152dc 60 this->sampleNumber++;
leysenkobe 0:6ee88b4152dc 61 }
leysenkobe 0:6ee88b4152dc 62 else
leysenkobe 0:6ee88b4152dc 63 {
leysenkobe 0:6ee88b4152dc 64 //printf("false \n");
leysenkobe 0:6ee88b4152dc 65 this->sendPacket(this->dataPacket);
leysenkobe 0:6ee88b4152dc 66 this->creatDataPacket();
leysenkobe 0:6ee88b4152dc 67 }
leysenkobe 0:6ee88b4152dc 68 }
leysenkobe 0:6ee88b4152dc 69
leysenkobe 0:6ee88b4152dc 70 //PACKET WORKER
leysenkobe 0:6ee88b4152dc 71 void Module::packetWorker(Packet *p)
leysenkobe 0:6ee88b4152dc 72 {
leysenkobe 0:6ee88b4152dc 73 switch(p->getCMD())
leysenkobe 0:6ee88b4152dc 74 {
leysenkobe 0:6ee88b4152dc 75 //S2C packets
leysenkobe 0:6ee88b4152dc 76 case PACKET_ACK : this->sendPacket(p); break;
leysenkobe 0:6ee88b4152dc 77 case PACKET_NACK : this->sendPacket(p); break;
leysenkobe 0:6ee88b4152dc 78 case PACKET_ERROR : this->sendPacket(p); break;
leysenkobe 0:6ee88b4152dc 79 case PACKET_ALIVE : this->sendPacket(p); break;
leysenkobe 0:6ee88b4152dc 80 case PACKET_DATA : this->sendPacket(p); break;
leysenkobe 0:6ee88b4152dc 81 case PACKET_GET_IP_REPLY : this->sendPacket(p); break;
leysenkobe 0:6ee88b4152dc 82
leysenkobe 0:6ee88b4152dc 83 //C2S packets
leysenkobe 0:6ee88b4152dc 84 case PACKET_INIT :
leysenkobe 0:6ee88b4152dc 85 this->HandleInit(p);
leysenkobe 0:6ee88b4152dc 86 break;
leysenkobe 0:6ee88b4152dc 87 case PACKET_ENABLE_DATA :
leysenkobe 0:6ee88b4152dc 88 this->HandleEnableData(p);
leysenkobe 0:6ee88b4152dc 89 break;
leysenkobe 0:6ee88b4152dc 90 case PACKET_CHANGE_IP :
leysenkobe 0:6ee88b4152dc 91 this->HandleChangeIP(p);
leysenkobe 0:6ee88b4152dc 92 break;
leysenkobe 0:6ee88b4152dc 93 case PACKET_REMOVE_IP :
leysenkobe 0:6ee88b4152dc 94 this->removeIP();
leysenkobe 0:6ee88b4152dc 95 break;
leysenkobe 0:6ee88b4152dc 96 case PACKET_GET_IP :
leysenkobe 0:6ee88b4152dc 97 this->IpReply();
leysenkobe 0:6ee88b4152dc 98 break;
leysenkobe 0:6ee88b4152dc 99 case PACKET_VERSION :
leysenkobe 0:6ee88b4152dc 100 this->VersionReply();
leysenkobe 0:6ee88b4152dc 101 break;
leysenkobe 0:6ee88b4152dc 102 //case PACKET_VERSION_REPLY : --> zelf versturen!
leysenkobe 0:6ee88b4152dc 103 // break;
leysenkobe 0:6ee88b4152dc 104 case PACKET_SET_PACKAGE_SIZE :
leysenkobe 0:6ee88b4152dc 105 HandleSetPackageSize(p);
leysenkobe 0:6ee88b4152dc 106 break;
leysenkobe 0:6ee88b4152dc 107 case PACKET_GET_SETTINGS :
leysenkobe 0:6ee88b4152dc 108 this->SettingsReply();
leysenkobe 0:6ee88b4152dc 109 break;
leysenkobe 0:6ee88b4152dc 110 //case PACKET_GET_SETTINGS_REPLY : --> moet verstuurd worden!
leysenkobe 0:6ee88b4152dc 111 // break;
leysenkobe 0:6ee88b4152dc 112 case PACKET_SET_ID :
leysenkobe 0:6ee88b4152dc 113 uint8_t *cmdData = p->getCMD_DATA();
leysenkobe 0:6ee88b4152dc 114 this->ID[0] = cmdData[0];
leysenkobe 0:6ee88b4152dc 115 this->ID[1] = cmdData[1];
leysenkobe 0:6ee88b4152dc 116 delete cmdData;
leysenkobe 0:6ee88b4152dc 117 this->Acknowledge();
leysenkobe 0:6ee88b4152dc 118 break;
leysenkobe 0:6ee88b4152dc 119 case PACKET_TEST_MODE :
leysenkobe 0:6ee88b4152dc 120 this->uart->send(p); //uitsturen via beide interfaces
leysenkobe 0:6ee88b4152dc 121 //this->wifi->send(p);
leysenkobe 0:6ee88b4152dc 122 break;
leysenkobe 0:6ee88b4152dc 123 case PACKET_LED_TEST_MODE :
leysenkobe 0:6ee88b4152dc 124 uint8_t *ledData = p->getCMD_DATA();
leysenkobe 0:6ee88b4152dc 125 uint8_t ledInfo = ledData[0];
leysenkobe 0:6ee88b4152dc 126 this->LedTest(ledInfo);
leysenkobe 0:6ee88b4152dc 127 delete ledData;
leysenkobe 0:6ee88b4152dc 128 break;
leysenkobe 0:6ee88b4152dc 129 default:
leysenkobe 0:6ee88b4152dc 130 /// packet dat ik binnen krijg !!!!!
leysenkobe 0:6ee88b4152dc 131 break;
leysenkobe 0:6ee88b4152dc 132 }
leysenkobe 0:6ee88b4152dc 133 delete p;
leysenkobe 0:6ee88b4152dc 134 }
leysenkobe 0:6ee88b4152dc 135
leysenkobe 0:6ee88b4152dc 136 void Module::sendPacket(Packet *p)
leysenkobe 0:6ee88b4152dc 137 {
leysenkobe 0:6ee88b4152dc 138 if(wifiEnabled)
leysenkobe 0:6ee88b4152dc 139 {
leysenkobe 0:6ee88b4152dc 140 //this->wifi->send(p);
leysenkobe 0:6ee88b4152dc 141 }
leysenkobe 0:6ee88b4152dc 142 else
leysenkobe 0:6ee88b4152dc 143 {
leysenkobe 0:6ee88b4152dc 144 this->uart->send(p);
leysenkobe 0:6ee88b4152dc 145 }
leysenkobe 0:6ee88b4152dc 146 }
leysenkobe 0:6ee88b4152dc 147 void Module::creatDataPacket()
leysenkobe 0:6ee88b4152dc 148 {
leysenkobe 0:6ee88b4152dc 149 //printf("MAAK PACKET !! \n");
leysenkobe 0:6ee88b4152dc 150 uint8_t *reserved = new uint8_t[2];
leysenkobe 0:6ee88b4152dc 151 reserved[0] = 0x00;
leysenkobe 0:6ee88b4152dc 152 reserved[1] = 0x00;
leysenkobe 0:6ee88b4152dc 153 int activeChannels = 0; //Het aantal actieve kanalen
leysenkobe 0:6ee88b4152dc 154 int nActiveChannels = 0; //Voor te versturen in het datapakket (zie verder)
leysenkobe 0:6ee88b4152dc 155
leysenkobe 0:6ee88b4152dc 156 for(int i = 0; i < 16; i++)
leysenkobe 0:6ee88b4152dc 157 {
leysenkobe 0:6ee88b4152dc 158 if(this->daq->ChannelEnabled(i) == true)
leysenkobe 0:6ee88b4152dc 159 {
leysenkobe 0:6ee88b4152dc 160 nActiveChannels++;
leysenkobe 0:6ee88b4152dc 161 activeChannels |= 1 << (15 - i);
leysenkobe 0:6ee88b4152dc 162 }
leysenkobe 0:6ee88b4152dc 163 }
leysenkobe 0:6ee88b4152dc 164 this->dataPacket = new Packet(this->ID,this->sampleNumber,this->packageSize,this->sampleRate,activeChannels,nActiveChannels,reserved);
leysenkobe 0:6ee88b4152dc 165 delete [] reserved;
leysenkobe 0:6ee88b4152dc 166 }
leysenkobe 0:6ee88b4152dc 167 void Module::HandleInit(Packet *p)
leysenkobe 0:6ee88b4152dc 168 {
leysenkobe 0:6ee88b4152dc 169 uint8_t cmdSize = p->getCMD_SIZE();
leysenkobe 0:6ee88b4152dc 170 /*
leysenkobe 0:6ee88b4152dc 171 //eventueel controle nog uitvoeren..
leysenkobe 0:6ee88b4152dc 172 if(cmdSize != 33){
leysenkobe 0:6ee88b4152dc 173 Packet *error = new Packet();
leysenkobe 0:6ee88b4152dc 174 this->sendPacket(error);
leysenkobe 0:6ee88b4152dc 175 delete packet;
leysenkobe 0:6ee88b4152dc 176 return;
leysenkobe 0:6ee88b4152dc 177 }*/
leysenkobe 0:6ee88b4152dc 178 uint8_t *cmdData = p->getCMD_DATA();
leysenkobe 0:6ee88b4152dc 179 uint8_t sampleRate = cmdData[0];
leysenkobe 0:6ee88b4152dc 180
leysenkobe 0:6ee88b4152dc 181 uint8_t channelGainByte;
leysenkobe 0:6ee88b4152dc 182 uint8_t channelEnabledByte;
leysenkobe 0:6ee88b4152dc 183
leysenkobe 0:6ee88b4152dc 184 this->sampleRate = sampleRate;
leysenkobe 0:6ee88b4152dc 185
leysenkobe 0:6ee88b4152dc 186 for(int i = 0; i < 16; i++){
leysenkobe 0:6ee88b4152dc 187 channelGainByte = cmdData[1 + i * 2];
leysenkobe 0:6ee88b4152dc 188 channelEnabledByte = cmdData[1 + i * 2 + 1];
leysenkobe 0:6ee88b4152dc 189 switch(channelGainByte){
leysenkobe 0:6ee88b4152dc 190 default: //0x00
leysenkobe 0:6ee88b4152dc 191 this->daq->setChannelGain(i, 1);
leysenkobe 0:6ee88b4152dc 192 break;
leysenkobe 0:6ee88b4152dc 193 case 0x01:
leysenkobe 0:6ee88b4152dc 194 this->daq->setChannelGain(i, 10);
leysenkobe 0:6ee88b4152dc 195 break;
leysenkobe 0:6ee88b4152dc 196 case 0x02:
leysenkobe 0:6ee88b4152dc 197 this->daq->setChannelGain(i, 100);
leysenkobe 0:6ee88b4152dc 198 break;
leysenkobe 0:6ee88b4152dc 199 case 0x03:
leysenkobe 0:6ee88b4152dc 200 this->daq->setChannelGain(i, 1000);
leysenkobe 0:6ee88b4152dc 201 break;
leysenkobe 0:6ee88b4152dc 202 }
leysenkobe 0:6ee88b4152dc 203
leysenkobe 0:6ee88b4152dc 204 if(channelEnabledByte == 0x01){ //enabled
leysenkobe 0:6ee88b4152dc 205 this->daq->enableChannel(i);
leysenkobe 0:6ee88b4152dc 206 }
leysenkobe 0:6ee88b4152dc 207 else{ //disabled
leysenkobe 0:6ee88b4152dc 208 this->daq->disableChannel(i);
leysenkobe 0:6ee88b4152dc 209 }
leysenkobe 0:6ee88b4152dc 210 }
leysenkobe 0:6ee88b4152dc 211
leysenkobe 0:6ee88b4152dc 212 delete cmdData;
leysenkobe 0:6ee88b4152dc 213 }
leysenkobe 0:6ee88b4152dc 214
leysenkobe 0:6ee88b4152dc 215 void Module::HandleEnableData(Packet *p){
leysenkobe 0:6ee88b4152dc 216 uint8_t *data = p->getCMD_DATA();
leysenkobe 0:6ee88b4152dc 217
leysenkobe 0:6ee88b4152dc 218 if(data[0] == 0x00){
leysenkobe 0:6ee88b4152dc 219 this->EnableData();
leysenkobe 0:6ee88b4152dc 220 }
leysenkobe 0:6ee88b4152dc 221 else{
leysenkobe 0:6ee88b4152dc 222 this->DisableData();
leysenkobe 0:6ee88b4152dc 223 }
leysenkobe 0:6ee88b4152dc 224
leysenkobe 0:6ee88b4152dc 225 delete data;
leysenkobe 0:6ee88b4152dc 226 }
leysenkobe 0:6ee88b4152dc 227
leysenkobe 0:6ee88b4152dc 228 void Module::HandleSetPackageSize(Packet *p){
leysenkobe 0:6ee88b4152dc 229 uint8_t *data = p->getCMD_DATA();
leysenkobe 0:6ee88b4152dc 230 this->setPackageSize(data[0]); //data[0] = packageSize!
leysenkobe 0:6ee88b4152dc 231 delete data;
leysenkobe 0:6ee88b4152dc 232 }
leysenkobe 0:6ee88b4152dc 233
leysenkobe 0:6ee88b4152dc 234 void Module::HandleChangeIP(Packet *p){
leysenkobe 0:6ee88b4152dc 235 int cmdSize = p->getCMD_SIZE();
leysenkobe 0:6ee88b4152dc 236
leysenkobe 0:6ee88b4152dc 237 if(cmdSize != 4){
leysenkobe 0:6ee88b4152dc 238 Packet *errorPacket = new Packet(this->ID);
leysenkobe 0:6ee88b4152dc 239 this->sendPacket(errorPacket);
leysenkobe 0:6ee88b4152dc 240 delete errorPacket;
leysenkobe 0:6ee88b4152dc 241 return;
leysenkobe 0:6ee88b4152dc 242 }
leysenkobe 0:6ee88b4152dc 243
leysenkobe 0:6ee88b4152dc 244 uint8_t* data = p->getCMD_DATA();
leysenkobe 0:6ee88b4152dc 245 this->setIP(data);
leysenkobe 0:6ee88b4152dc 246 delete data;
leysenkobe 0:6ee88b4152dc 247 }
leysenkobe 0:6ee88b4152dc 248
leysenkobe 0:6ee88b4152dc 249 void Module::IpReply(){
leysenkobe 0:6ee88b4152dc 250 uint8_t cmdDataLengte = 4;
leysenkobe 0:6ee88b4152dc 251 uint8_t *cmdData = new uint8_t[cmdDataLengte];
leysenkobe 0:6ee88b4152dc 252 uint8_t *reserved = new uint8_t[2];
leysenkobe 0:6ee88b4152dc 253
leysenkobe 0:6ee88b4152dc 254 cmdData[0] = this->IP[0];
leysenkobe 0:6ee88b4152dc 255 cmdData[1] = this->IP[1];
leysenkobe 0:6ee88b4152dc 256 cmdData[2] = this->IP[2];
leysenkobe 0:6ee88b4152dc 257 cmdData[3] = this->IP[3];
leysenkobe 0:6ee88b4152dc 258
leysenkobe 0:6ee88b4152dc 259 reserved[0] = 0x00;
leysenkobe 0:6ee88b4152dc 260 reserved[1] = 0x00;
leysenkobe 0:6ee88b4152dc 261
leysenkobe 0:6ee88b4152dc 262 Packet *ipInfoPacket = new Packet(this->ID, PACKET_GET_IP_REPLY, cmdData, cmdDataLengte, reserved);
leysenkobe 0:6ee88b4152dc 263 this->sendPacket(ipInfoPacket);
leysenkobe 0:6ee88b4152dc 264
leysenkobe 0:6ee88b4152dc 265 delete ipInfoPacket;
leysenkobe 0:6ee88b4152dc 266 delete reserved;
leysenkobe 0:6ee88b4152dc 267 delete cmdData;
leysenkobe 0:6ee88b4152dc 268 }
leysenkobe 0:6ee88b4152dc 269
leysenkobe 0:6ee88b4152dc 270 void Module::VersionReply(){
leysenkobe 0:6ee88b4152dc 271 uint8_t cmdDataLengte = 2;
leysenkobe 0:6ee88b4152dc 272 uint8_t *cmdData = new uint8_t[cmdDataLengte];
leysenkobe 0:6ee88b4152dc 273 uint8_t *reserved = new uint8_t[2];
leysenkobe 0:6ee88b4152dc 274
leysenkobe 0:6ee88b4152dc 275 cmdData[0] = this->version[0];
leysenkobe 0:6ee88b4152dc 276 cmdData[1] = this->version[1];
leysenkobe 0:6ee88b4152dc 277
leysenkobe 0:6ee88b4152dc 278 reserved[0] = 0x00;
leysenkobe 0:6ee88b4152dc 279 reserved[1] = 0x00;
leysenkobe 0:6ee88b4152dc 280
leysenkobe 0:6ee88b4152dc 281 Packet *versionPacket = new Packet(this->ID, PACKET_VERSION_REPLY, cmdData, cmdDataLengte, reserved);
leysenkobe 0:6ee88b4152dc 282 this->sendPacket(versionPacket);
leysenkobe 0:6ee88b4152dc 283
leysenkobe 0:6ee88b4152dc 284 delete reserved;
leysenkobe 0:6ee88b4152dc 285 delete versionPacket;
leysenkobe 0:6ee88b4152dc 286 delete cmdData;
leysenkobe 0:6ee88b4152dc 287 }
leysenkobe 0:6ee88b4152dc 288
leysenkobe 0:6ee88b4152dc 289 void Module::SettingsReply(){
leysenkobe 0:6ee88b4152dc 290 uint8_t cmdDataLengte = 41;
leysenkobe 0:6ee88b4152dc 291 uint8_t *cmdData = new uint8_t[cmdDataLengte];
leysenkobe 0:6ee88b4152dc 292 uint8_t *reserved = new uint8_t[2];
leysenkobe 0:6ee88b4152dc 293
leysenkobe 0:6ee88b4152dc 294 cmdData[0] = this->IP[0];
leysenkobe 0:6ee88b4152dc 295 cmdData[1] = this->IP[1];
leysenkobe 0:6ee88b4152dc 296 cmdData[2] = this->IP[2];
leysenkobe 0:6ee88b4152dc 297 cmdData[3] = this->IP[3];
leysenkobe 0:6ee88b4152dc 298
leysenkobe 0:6ee88b4152dc 299 if(enableData){
leysenkobe 0:6ee88b4152dc 300 cmdData[4] = 0x01;
leysenkobe 0:6ee88b4152dc 301 }
leysenkobe 0:6ee88b4152dc 302 else{
leysenkobe 0:6ee88b4152dc 303 cmdData[4] = 0x00;
leysenkobe 0:6ee88b4152dc 304 }
leysenkobe 0:6ee88b4152dc 305
leysenkobe 0:6ee88b4152dc 306 cmdData[5] = this->version[0];
leysenkobe 0:6ee88b4152dc 307 cmdData[6] = this->version[1];
leysenkobe 0:6ee88b4152dc 308
leysenkobe 0:6ee88b4152dc 309 for(int i = 0; i < 16; i++){
leysenkobe 0:6ee88b4152dc 310 cmdData[7 + i * 2] = this->daq->getChannelGain(i);
leysenkobe 0:6ee88b4152dc 311
leysenkobe 0:6ee88b4152dc 312 if(this->daq->ChannelEnabled(i) == true){
leysenkobe 0:6ee88b4152dc 313 cmdData[7 + i * 2 + 1] = 0x01;
leysenkobe 0:6ee88b4152dc 314 }
leysenkobe 0:6ee88b4152dc 315 else{
leysenkobe 0:6ee88b4152dc 316 cmdData[7 + i * 2 + 1] = 0x00;
leysenkobe 0:6ee88b4152dc 317 }
leysenkobe 0:6ee88b4152dc 318 }
leysenkobe 0:6ee88b4152dc 319
leysenkobe 0:6ee88b4152dc 320 cmdData[39] = this->sampleRate;
leysenkobe 0:6ee88b4152dc 321 cmdData[40] = this->packageSize;
leysenkobe 0:6ee88b4152dc 322
leysenkobe 0:6ee88b4152dc 323 reserved[0] = 0x00;
leysenkobe 0:6ee88b4152dc 324 reserved[1] = 0x00;
leysenkobe 0:6ee88b4152dc 325
leysenkobe 0:6ee88b4152dc 326 Packet *settingsPacket = new Packet(this->ID, PACKET_GET_SETTINGS_REPLY, cmdData, cmdDataLengte, reserved);
leysenkobe 0:6ee88b4152dc 327 this->sendPacket(settingsPacket);
leysenkobe 0:6ee88b4152dc 328
leysenkobe 0:6ee88b4152dc 329 delete settingsPacket;
leysenkobe 0:6ee88b4152dc 330 delete cmdData;
leysenkobe 0:6ee88b4152dc 331 delete reserved;
leysenkobe 0:6ee88b4152dc 332 }
leysenkobe 0:6ee88b4152dc 333
leysenkobe 0:6ee88b4152dc 334 void Module::LedTest(uint8_t ledInfo){
leysenkobe 0:6ee88b4152dc 335 for(int i = 4; i < 8; i++){
leysenkobe 0:6ee88b4152dc 336 if(((ledInfo >> i) & 1) == 1){ //LED moet aan!
leysenkobe 0:6ee88b4152dc 337 switch(i){
leysenkobe 0:6ee88b4152dc 338 case 4:
leysenkobe 0:6ee88b4152dc 339 //LED0 aanzetten
leysenkobe 0:6ee88b4152dc 340
leysenkobe 0:6ee88b4152dc 341 break;
leysenkobe 0:6ee88b4152dc 342 case 5:
leysenkobe 0:6ee88b4152dc 343 //LED1 aanzetten
leysenkobe 0:6ee88b4152dc 344
leysenkobe 0:6ee88b4152dc 345 break;
leysenkobe 0:6ee88b4152dc 346 case 6:
leysenkobe 0:6ee88b4152dc 347 //LED2 aanzetten
leysenkobe 0:6ee88b4152dc 348
leysenkobe 0:6ee88b4152dc 349 break;
leysenkobe 0:6ee88b4152dc 350 case 7:
leysenkobe 0:6ee88b4152dc 351 //LED3 aanzetten
leysenkobe 0:6ee88b4152dc 352
leysenkobe 0:6ee88b4152dc 353 break;
leysenkobe 0:6ee88b4152dc 354 default:
leysenkobe 0:6ee88b4152dc 355 break;
leysenkobe 0:6ee88b4152dc 356 }
leysenkobe 0:6ee88b4152dc 357 }
leysenkobe 0:6ee88b4152dc 358 }
leysenkobe 0:6ee88b4152dc 359 }
leysenkobe 0:6ee88b4152dc 360
leysenkobe 0:6ee88b4152dc 361 void Module::Acknowledge(uint8_t RESERVED[2])
leysenkobe 0:6ee88b4152dc 362 {
leysenkobe 0:6ee88b4152dc 363 Packet *ack = new Packet(this->ID, PACKET_ACK, RESERVED);
leysenkobe 0:6ee88b4152dc 364 this->sendPacket(ack);
leysenkobe 0:6ee88b4152dc 365 delete ack;
leysenkobe 0:6ee88b4152dc 366 //delete reserved; //moet weggedaan worden waar deze array aangemaakt wordt!
leysenkobe 0:6ee88b4152dc 367 }
leysenkobe 0:6ee88b4152dc 368
leysenkobe 0:6ee88b4152dc 369 void Module::Acknowledge()
leysenkobe 0:6ee88b4152dc 370 {
leysenkobe 0:6ee88b4152dc 371 uint8_t *reserved = new uint8_t[2];
leysenkobe 0:6ee88b4152dc 372 reserved[0] = 0x00;
leysenkobe 0:6ee88b4152dc 373 reserved[1] = 0x00;
leysenkobe 0:6ee88b4152dc 374
leysenkobe 0:6ee88b4152dc 375 Packet *ack = new Packet(this->ID, PACKET_ACK, reserved);
leysenkobe 0:6ee88b4152dc 376 this->sendPacket(ack);
leysenkobe 0:6ee88b4152dc 377
leysenkobe 0:6ee88b4152dc 378 delete ack;
leysenkobe 0:6ee88b4152dc 379 delete reserved;
leysenkobe 0:6ee88b4152dc 380 }
leysenkobe 0:6ee88b4152dc 381
leysenkobe 0:6ee88b4152dc 382
leysenkobe 0:6ee88b4152dc 383 //GETTERS
leysenkobe 0:6ee88b4152dc 384 Uart* Module::getUart(void)
leysenkobe 0:6ee88b4152dc 385 {
leysenkobe 0:6ee88b4152dc 386 return(this->uart);
leysenkobe 0:6ee88b4152dc 387 }
leysenkobe 0:6ee88b4152dc 388 uint8_t* Module::getID(void)
leysenkobe 0:6ee88b4152dc 389 {
leysenkobe 0:6ee88b4152dc 390 return(this->ID);
leysenkobe 0:6ee88b4152dc 391 }
leysenkobe 0:6ee88b4152dc 392 uint8_t* Module::getIP(void)
leysenkobe 0:6ee88b4152dc 393 {
leysenkobe 0:6ee88b4152dc 394 return(this->IP);
leysenkobe 0:6ee88b4152dc 395 }
leysenkobe 0:6ee88b4152dc 396 uint8_t* Module::getVersion(void)
leysenkobe 0:6ee88b4152dc 397 {
leysenkobe 0:6ee88b4152dc 398 return(this->version);
leysenkobe 0:6ee88b4152dc 399 }
leysenkobe 0:6ee88b4152dc 400 bool Module::dataEnabled(void)
leysenkobe 0:6ee88b4152dc 401 {
leysenkobe 0:6ee88b4152dc 402 return(this->enableData);
leysenkobe 0:6ee88b4152dc 403 }
leysenkobe 0:6ee88b4152dc 404 uint8_t Module::getPackageSize(void)
leysenkobe 0:6ee88b4152dc 405 {
leysenkobe 0:6ee88b4152dc 406 return(this->packageSize);
leysenkobe 0:6ee88b4152dc 407 }
leysenkobe 0:6ee88b4152dc 408 unsigned int Module::getSampleNumber(void)
leysenkobe 0:6ee88b4152dc 409 {
leysenkobe 0:6ee88b4152dc 410 return(this->sampleNumber);
leysenkobe 0:6ee88b4152dc 411 }
leysenkobe 0:6ee88b4152dc 412 uint8_t Module::getSampleRate(void)
leysenkobe 0:6ee88b4152dc 413 {
leysenkobe 0:6ee88b4152dc 414 return(this->sampleRate);
leysenkobe 0:6ee88b4152dc 415 }
leysenkobe 0:6ee88b4152dc 416
leysenkobe 0:6ee88b4152dc 417 //SETTERS
leysenkobe 0:6ee88b4152dc 418 void Module::setID(uint8_t ID[2])
leysenkobe 0:6ee88b4152dc 419 {
leysenkobe 0:6ee88b4152dc 420 this->ID[0] = ID[0];
leysenkobe 0:6ee88b4152dc 421 this->ID[1] = ID[1];
leysenkobe 0:6ee88b4152dc 422 }
leysenkobe 0:6ee88b4152dc 423 void Module::setIP(uint8_t IP[4])
leysenkobe 0:6ee88b4152dc 424 {
leysenkobe 0:6ee88b4152dc 425 this->IP[0] = IP[0];
leysenkobe 0:6ee88b4152dc 426 this->IP[1] = IP[1];
leysenkobe 0:6ee88b4152dc 427 this->IP[2] = IP[2];
leysenkobe 0:6ee88b4152dc 428 this->IP[3] = IP[3];
leysenkobe 0:6ee88b4152dc 429 }
leysenkobe 0:6ee88b4152dc 430 void Module::removeIP(){
leysenkobe 0:6ee88b4152dc 431 this->IP[0] = 0xff;
leysenkobe 0:6ee88b4152dc 432 this->IP[1] = 0xff;
leysenkobe 0:6ee88b4152dc 433 this->IP[2] = 0xff;
leysenkobe 0:6ee88b4152dc 434 this->IP[3] = 0xff;
leysenkobe 0:6ee88b4152dc 435 }
leysenkobe 0:6ee88b4152dc 436 void Module::setVersion(uint8_t version[2])
leysenkobe 0:6ee88b4152dc 437 {
leysenkobe 0:6ee88b4152dc 438 this->version[0] = version[0];
leysenkobe 0:6ee88b4152dc 439 this->version[1] = version[1];
leysenkobe 0:6ee88b4152dc 440 }
leysenkobe 0:6ee88b4152dc 441 void Module::EnableData(void)
leysenkobe 0:6ee88b4152dc 442 {
leysenkobe 0:6ee88b4152dc 443 this->enableData = true;
leysenkobe 0:6ee88b4152dc 444 }
leysenkobe 0:6ee88b4152dc 445 void Module::DisableData(void)
leysenkobe 0:6ee88b4152dc 446 {
leysenkobe 0:6ee88b4152dc 447 this->enableData = false;
leysenkobe 0:6ee88b4152dc 448 }
leysenkobe 0:6ee88b4152dc 449 void Module::setPackageSize(uint8_t packageSize)
leysenkobe 0:6ee88b4152dc 450 {
leysenkobe 0:6ee88b4152dc 451 this->packageSize = packageSize;
leysenkobe 0:6ee88b4152dc 452 }
leysenkobe 0:6ee88b4152dc 453 void Module::setSampleNumber(unsigned int sampleNumber)
leysenkobe 0:6ee88b4152dc 454 {
leysenkobe 0:6ee88b4152dc 455 this->sampleNumber = sampleNumber;
leysenkobe 0:6ee88b4152dc 456 }
leysenkobe 0:6ee88b4152dc 457 void Module::setSampleRate(uint8_t sampleRate)
leysenkobe 0:6ee88b4152dc 458 {
leysenkobe 0:6ee88b4152dc 459 this->sampleRate = sampleRate;
leysenkobe 0:6ee88b4152dc 460 }