Koncentrator
Dependencies: SX127x mbed-rtos mbed
fun.cpp@0:dd55179403eb, 2015-06-03 (annotated)
- Committer:
- MrSteel
- Date:
- Wed Jun 03 13:50:55 2015 +0000
- Revision:
- 0:dd55179403eb
Koncentrator
Who changed what in which revision?
User | Revision | Line number | New 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 | } |