Koncentrator

Dependencies:   SX127x mbed-rtos mbed

Committer:
MrSteel
Date:
Wed Jun 03 13:50:55 2015 +0000
Revision:
0:dd55179403eb
Koncentrator

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MrSteel 0:dd55179403eb 1 #include "mbed.h"
MrSteel 0:dd55179403eb 2 #include "rtos.h"
MrSteel 0:dd55179403eb 3 #include "sx127x_lora.h"
MrSteel 0:dd55179403eb 4 #include "comm.h"
MrSteel 0:dd55179403eb 5 #include "fun.h"
MrSteel 0:dd55179403eb 6 #include "application.h"
MrSteel 0:dd55179403eb 7
MrSteel 0:dd55179403eb 8 unsigned long readCurrentTimestamp( void ) {
MrSteel 0:dd55179403eb 9 time_t seconds = time(NULL);
MrSteel 0:dd55179403eb 10 return seconds;
MrSteel 0:dd55179403eb 11 }
MrSteel 0:dd55179403eb 12
MrSteel 0:dd55179403eb 13 void setCurrentTimeDate( unsigned long ts ) {
MrSteel 0:dd55179403eb 14 set_time(ts);
MrSteel 0:dd55179403eb 15 }
MrSteel 0:dd55179403eb 16
MrSteel 0:dd55179403eb 17
MrSteel 0:dd55179403eb 18 void printStr(unsigned int destination, unsigned char * str, unsigned int len) {
MrSteel 0:dd55179403eb 19 unsigned int i;
MrSteel 0:dd55179403eb 20
MrSteel 0:dd55179403eb 21 #ifdef LORA_TARGET
MrSteel 0:dd55179403eb 22 if(destination==LORA_TARGET) {
MrSteel 0:dd55179403eb 23 kom.write_reg(0x22,len);
MrSteel 0:dd55179403eb 24 }
MrSteel 0:dd55179403eb 25 #endif
MrSteel 0:dd55179403eb 26
MrSteel 0:dd55179403eb 27 for(i=0;i<len;i++) {
MrSteel 0:dd55179403eb 28 switch(destination) {
MrSteel 0:dd55179403eb 29 #ifdef PC_TARGET
MrSteel 0:dd55179403eb 30 case PC_TARGET:
MrSteel 0:dd55179403eb 31 pc_mutex.lock();
MrSteel 0:dd55179403eb 32 pc.putc(str[i]);
MrSteel 0:dd55179403eb 33 pc_mutex.unlock();
MrSteel 0:dd55179403eb 34 break;
MrSteel 0:dd55179403eb 35 #endif
MrSteel 0:dd55179403eb 36 #ifdef FIBER_OPTIC_TARGET
MrSteel 0:dd55179403eb 37 case FIBER_OPTIC_TARGET:
MrSteel 0:dd55179403eb 38 fiberOptic_mutex.lock();
MrSteel 0:dd55179403eb 39 fiberOptic.putc(str[i]);
MrSteel 0:dd55179403eb 40 fiberOptic_mutex.unlock();
MrSteel 0:dd55179403eb 41 break;
MrSteel 0:dd55179403eb 42 #endif
MrSteel 0:dd55179403eb 43 #ifdef LORA_TARGET
MrSteel 0:dd55179403eb 44 case LORA_TARGET:
MrSteel 0:dd55179403eb 45 kom.tx_buf[i] = str[i];
MrSteel 0:dd55179403eb 46 break;
MrSteel 0:dd55179403eb 47 #endif
MrSteel 0:dd55179403eb 48 #ifdef GSM_TARGET
MrSteel 0:dd55179403eb 49 case GSM_TARGET:
MrSteel 0:dd55179403eb 50 //gsm_mutex.lock();
MrSteel 0:dd55179403eb 51 //gsm_mutex.unlock();
MrSteel 0:dd55179403eb 52 break;
MrSteel 0:dd55179403eb 53 #endif
MrSteel 0:dd55179403eb 54 default:
MrSteel 0:dd55179403eb 55 break;
MrSteel 0:dd55179403eb 56 }
MrSteel 0:dd55179403eb 57 }
MrSteel 0:dd55179403eb 58 #ifdef LORA_TARGET
MrSteel 0:dd55179403eb 59 if(destination==LORA_TARGET)
MrSteel 0:dd55179403eb 60 Lora.start_tx(len);
MrSteel 0:dd55179403eb 61 while(Lora.service() != SERVICE_TX_DONE);
MrSteel 0:dd55179403eb 62 Lora.start_rx();
MrSteel 0:dd55179403eb 63 #endif
MrSteel 0:dd55179403eb 64 }