Cubebite Publish

Dependencies:   mbed

Fork of HelloWorld_IDS01A4 by ST

Committer:
jmhong
Date:
Tue Feb 13 06:35:39 2018 +0000
Revision:
14:1a6faeda6579
Parent:
13:d802c6ed2e75
180213 HJM commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rosarium 0:2ddc0583bcec 1 /**
rosarium 0:2ddc0583bcec 2 ******************************************************************************
rosarium 0:2ddc0583bcec 3 * @file main.cpp
jmhong 11:f8396aa48de6 4 * @author JMHong, Cubebite
rosarium 0:2ddc0583bcec 5 * @version V1.0.0
jmhong 11:f8396aa48de6 6 * @date June 19th, 2018
rosarium 4:cae1fa054b86 7 * @brief mbed test application for the STMicroelectronics X-NUCLEO-IDB01A4/5
jmhong 11:f8396aa48de6 8 * Spirit1 Module(SPSGRFC-433)
rosarium 0:2ddc0583bcec 9 ******************************************************************************
rosarium 0:2ddc0583bcec 10 * @attention
rosarium 0:2ddc0583bcec 11 *
jmhong 11:f8396aa48de6 12 * <h2><center>&copy; COPYRIGHT(c) 2018 Cubebite</center></h2>
rosarium 0:2ddc0583bcec 13 *
rosarium 0:2ddc0583bcec 14 ******************************************************************************
rosarium 0:2ddc0583bcec 15 */
rosarium 0:2ddc0583bcec 16
jmhong 14:1a6faeda6579 17
jmhong 14:1a6faeda6579 18
jmhong 11:f8396aa48de6 19 //*************************************************************************************
jmhong 14:1a6faeda6579 20 //Define : Test, Compile
jmhong 11:f8396aa48de6 21 //*************************************************************************************
jmhong 14:1a6faeda6579 22 /* 180108 cubebite HJM : cubebite Testing define, 1개씩만 켜야 함. */
jmhong 14:1a6faeda6579 23 #define CUBEBITE_RF_SPEED_TEST_SEND_ON
jmhong 14:1a6faeda6579 24 //#define CUBEBITE_RF_SPEED_TEST_RECV_ON
jmhong 14:1a6faeda6579 25
jmhong 12:5e20115bd13b 26
jmhong 14:1a6faeda6579 27 /* 180109 cubebite HJM : cubebite Compile define, 1개씩만 켜야 함. */
jmhong 14:1a6faeda6579 28 //#define CUBEBITE_BOARD_F746ZG
jmhong 14:1a6faeda6579 29 #define CUBEBITE_BOARD_F401RE
jmhong 14:1a6faeda6579 30
jmhong 14:1a6faeda6579 31
jmhong 14:1a6faeda6579 32 #define CUBEBITE_RF_SETTING_VALUE_PRINT
jmhong 11:f8396aa48de6 33 //*************************************************************************************
rosarium 0:2ddc0583bcec 34
jmhong 11:f8396aa48de6 35
jmhong 14:1a6faeda6579 36
jmhong 14:1a6faeda6579 37
jmhong 11:f8396aa48de6 38 //*************************************************************************************
jmhong 11:f8396aa48de6 39 //Define : Debug
jmhong 11:f8396aa48de6 40 //*************************************************************************************
jmhong 10:cc81b87e005e 41 /* 180108 cubebite HJM : SimpleSpirit1 Debug define */
jmhong 10:cc81b87e005e 42 #define NDEBUG
jmhong 10:cc81b87e005e 43 #define HEAVY_DEBUG
jmhong 14:1a6faeda6579 44 #define DEBUG_IRQ
jmhong 10:cc81b87e005e 45
jmhong 10:cc81b87e005e 46
jmhong 10:cc81b87e005e 47 /* 180108 cubebite HJM : cubebite Debug define */
jmhong 11:f8396aa48de6 48 //#define CUBEBITE_DEBUG
jmhong 11:f8396aa48de6 49 //*************************************************************************************
jmhong 10:cc81b87e005e 50
jmhong 10:cc81b87e005e 51
jmhong 11:f8396aa48de6 52
jmhong 11:f8396aa48de6 53
jmhong 11:f8396aa48de6 54 //*************************************************************************************
jmhong 14:1a6faeda6579 55 //Include
jmhong 11:f8396aa48de6 56 //*************************************************************************************
jmhong 14:1a6faeda6579 57 #ifndef __MAIN_H__
jmhong 14:1a6faeda6579 58 #define __MAIN_H__
jmhong 14:1a6faeda6579 59 #include "main.h"
jmhong 14:1a6faeda6579 60 #endif //__MAIN_H__
jmhong 11:f8396aa48de6 61 //*************************************************************************************
jmhong 10:cc81b87e005e 62
jmhong 10:cc81b87e005e 63
jmhong 10:cc81b87e005e 64
jmhong 10:cc81b87e005e 65
jmhong 14:1a6faeda6579 66 enum RecvReturnValue
jmhong 14:1a6faeda6579 67 {
jmhong 14:1a6faeda6579 68 CUBEBITE_RECV_OK = 0, CUBEBITE_RECV_ERROR_READ_NOTHING, CUBEBITE_RECV_ERROR_READ_NOT_MATCH
jmhong 14:1a6faeda6579 69 };
jmhong 14:1a6faeda6579 70
jmhong 14:1a6faeda6579 71 enum SendReturnValue
jmhong 14:1a6faeda6579 72 {
jmhong 14:1a6faeda6579 73 CUBEBITE_SEND_OK = 0, CUBEBITE_SEND_ERROR, CUBEBITE_SEND_COLLISION, CUBEBITE_SEND_NOACK, CUBEBITE_SEND_ERROR_UNKNOWN
jmhong 14:1a6faeda6579 74 };
jmhong 14:1a6faeda6579 75
jmhong 14:1a6faeda6579 76
jmhong 14:1a6faeda6579 77
jmhong 14:1a6faeda6579 78
jmhong 14:1a6faeda6579 79
jmhong 14:1a6faeda6579 80 static void callback_func(int event);
jmhong 14:1a6faeda6579 81
jmhong 14:1a6faeda6579 82 static int ReadRcvdData(SimpleSpirit1& myspirit);
jmhong 14:1a6faeda6579 83 static int ReadRcvdData_ClockMeasure_AckEnd(SimpleSpirit1& myspirit);
jmhong 14:1a6faeda6579 84
jmhong 14:1a6faeda6579 85 static int SendData(SimpleSpirit1& myspirit);
jmhong 14:1a6faeda6579 86 static int SendData_ClockMeasure_AckStart(SimpleSpirit1& myspirit);
rosarium 0:2ddc0583bcec 87
jmhong 11:f8396aa48de6 88
jmhong 11:f8396aa48de6 89
jmhong 11:f8396aa48de6 90
rosarium 0:2ddc0583bcec 91
jmhong 14:1a6faeda6579 92 /*
jmhong 14:1a6faeda6579 93 <RF 설정 값>
jmhong 14:1a6faeda6579 94 황무지 -> 전파
jmhong 14:1a6faeda6579 95 고속도로 -> 주파수
jmhong 14:1a6faeda6579 96 차선 -> 채널
jmhong 14:1a6faeda6579 97
jmhong 14:1a6faeda6579 98 #define POWER_DBM 11.6
jmhong 14:1a6faeda6579 99 #define CHANNEL_SPACE 100e3
jmhong 14:1a6faeda6579 100 #define FREQ_DEVIATION 20e3
jmhong 14:1a6faeda6579 101 #define BANDWIDTH 100.5e3
jmhong 14:1a6faeda6579 102 #define MODULATION_SELECT GFSK_BT1
jmhong 14:1a6faeda6579 103 #define DATARATE 38400
jmhong 14:1a6faeda6579 104 #define XTAL_OFFSET_PPM 0
jmhong 14:1a6faeda6579 105 #define SYNC_WORD 0x88888888
jmhong 14:1a6faeda6579 106 #define LENGTH_WIDTH 8 // betzw - NOTE: only 255 bytes for payload!!!
jmhong 14:1a6faeda6579 107 #define CRC_MODE PKT_CRC_MODE_16BITS_2
jmhong 14:1a6faeda6579 108 #define EN_WHITENING S_DISABLE
jmhong 14:1a6faeda6579 109 #define INFINITE_TIMEOUT 0.0
jmhong 14:1a6faeda6579 110
jmhong 14:1a6faeda6579 111 #define BASE_FREQUENCY 433.0e6
jmhong 14:1a6faeda6579 112
jmhong 14:1a6faeda6579 113 */
jmhong 11:f8396aa48de6 114
jmhong 11:f8396aa48de6 115
jmhong 14:1a6faeda6579 116 /**
jmhong 14:1a6faeda6579 117 * @brief main routine
jmhong 14:1a6faeda6579 118 * @param None
jmhong 14:1a6faeda6579 119 * @retval int
jmhong 14:1a6faeda6579 120 */
jmhong 14:1a6faeda6579 121 int main()
jmhong 14:1a6faeda6579 122 {
jmhong 14:1a6faeda6579 123 /* 180108 cubebite HJM : function return value print */
jmhong 14:1a6faeda6579 124 int iReturn = 0;
jmhong 14:1a6faeda6579 125
jmhong 14:1a6faeda6579 126 //*************************************************************************************
jmhong 14:1a6faeda6579 127 //Global variable : Create an instance by board
jmhong 14:1a6faeda6579 128 //*************************************************************************************
jmhong 14:1a6faeda6579 129 /* 180108 cubebite HJM : orignal code, backup */
jmhong 14:1a6faeda6579 130 //static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(D11, D12, D3, D9, D10, D2); /* (SPI_CLK) = (D13:PA5:resistorR7 --> D3:PB3:resistorR4)*/
jmhong 14:1a6faeda6579 131
jmhong 14:1a6faeda6579 132 #ifdef CUBEBITE_BOARD_F401RE
jmhong 14:1a6faeda6579 133 /* 180108 cubebite HJM : F401re borad, AnalogIn PIN Info, A0(PA_0) A1(PA_1) A2(PA_4) A3(PB_0) A4(PC_1) A5(PC_0) */
jmhong 14:1a6faeda6579 134 /* RF Module 과 상관 관계 => A0(PA_0)[SPI GPIO 3] A1(PA_1)[CSN] A2(PA_4)[SPI1 GPIO 2] A3(PB_0)[SPI1 GPIO 1] A4(PC_1)[SPI1_GPIO 0] */
jmhong 14:1a6faeda6579 135 /* 180108 cubebite HJM : F401re borad Init code */
jmhong 14:1a6faeda6579 136 //static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(PA_7, PA_6, PA_5, PC_7, PB_6, PA_10); //F401re borad
jmhong 14:1a6faeda6579 137 static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(PA_7, PA_6, PA_5, PA_0, PB_6, PA_10); //F401re borad, IRQ Testing, GPIO 3 -> IRQ
jmhong 14:1a6faeda6579 138 //static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance_RSSI_negative_OneHundredTwenty(PA_7, PA_6, PA_5, PA_0, PB_6, PA_10); //F401re borad, IRQ Testing, GPIO 3 -> IRQ
jmhong 14:1a6faeda6579 139 #endif
jmhong 14:1a6faeda6579 140
jmhong 14:1a6faeda6579 141
jmhong 14:1a6faeda6579 142
jmhong 14:1a6faeda6579 143 #ifdef CUBEBITE_BOARD_F746ZG
jmhong 14:1a6faeda6579 144 /* 180108 cubebite HJM : F746zg borad, AnalogIn PIN Info, A0(PA_3) A1(PC_0) A2(PC_3) A3(PF_3) A4(PF_5) A5(PF_10) */
jmhong 14:1a6faeda6579 145 /* RF Module 과 상관 관계 => A0(PA_3)[SPI GPIO 3] A1(PC_0)[CSN] A2(PC_3)[SPI1 GPIO 2] A3(PF_3)[SPI1 GPIO 1] A4(PF_5)[SPI1_GPIO 0] */
jmhong 14:1a6faeda6579 146 /* 180108 cubebite HJM : F746zg borad Init code */
jmhong 14:1a6faeda6579 147 //static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(PB_5, PB_4, PB_3, PD_14, PD_5, PD_6); //F746zg borad
jmhong 14:1a6faeda6579 148 static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(PB_5, PB_4, PB_3, PA_3, PD_5, PD_6); //F746zg borad, IRQ Testing, GPIO 3 -> IRQ
jmhong 14:1a6faeda6579 149 //static SimpleSpirit1 &myspirit2 = SimpleSpirit1::CreateInstance2(PB_5, PB_4, PB_3, PA_3, PD_5, PD_6); //F746zg borad, IRQ Testing, GPIO 3 -> IRQ
jmhong 14:1a6faeda6579 150 #endif
jmhong 14:1a6faeda6579 151 //*************************************************************************************
jmhong 14:1a6faeda6579 152
jmhong 14:1a6faeda6579 153
jmhong 14:1a6faeda6579 154
jmhong 14:1a6faeda6579 155
jmhong 14:1a6faeda6579 156 /* 180108 cubebite HJM : spirit module, init code */
jmhong 14:1a6faeda6579 157 printf("[CUBEBITE] Init ");
jmhong 14:1a6faeda6579 158 /* LED off */
jmhong 14:1a6faeda6579 159 TestLED = 0;
jmhong 14:1a6faeda6579 160 myspirit.attach_irq_callback(callback_func);
jmhong 14:1a6faeda6579 161 iReturn = myspirit.on();
jmhong 14:1a6faeda6579 162 if ( 0 == iReturn )
jmhong 14:1a6faeda6579 163 {
jmhong 14:1a6faeda6579 164 printf("OK.\n");
jmhong 14:1a6faeda6579 165 }
jmhong 14:1a6faeda6579 166 else
jmhong 14:1a6faeda6579 167 {
jmhong 14:1a6faeda6579 168 printf("ERROR.\n");
jmhong 14:1a6faeda6579 169 }
jmhong 14:1a6faeda6579 170
jmhong 14:1a6faeda6579 171 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 172 printf("[CUBEBITE] CUBEBITE_DEBUG ON. \n");
jmhong 14:1a6faeda6579 173 #endif //CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 174
jmhong 14:1a6faeda6579 175
jmhong 14:1a6faeda6579 176 #ifdef CUBEBITE_RF_SETTING_VALUE_PRINT
jmhong 14:1a6faeda6579 177 printf("Xtal offset in ppm : [%d]\n", XTAL_OFFSET_PPM);
jmhong 14:1a6faeda6579 178 printf("base frequency : [%d]\n", (uint32_t)BASE_FREQUENCY);
jmhong 14:1a6faeda6579 179 printf("channel space : [%d]\n", (uint32_t)CHANNEL_SPACE);
jmhong 14:1a6faeda6579 180 printf("channel number : [%d]\n", CHANNEL_NUMBER);
jmhong 14:1a6faeda6579 181 printf("modulation select : [%d]\n", MODULATION_SELECT);
jmhong 14:1a6faeda6579 182 printf("data rate : [%d]\n", DATARATE);
jmhong 14:1a6faeda6579 183 printf("frequency deviation : [%d]\n", (uint32_t)FREQ_DEVIATION);
jmhong 14:1a6faeda6579 184 printf("channel filter bandwidth : [%d]\n", (uint32_t)BANDWIDTH);
jmhong 14:1a6faeda6579 185 #ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON
jmhong 14:1a6faeda6579 186 // printf("\nOutput Power(dBm) : [%f]\n", POWER_DBM);
jmhong 14:1a6faeda6579 187 printf("\nOutput Power(dBm) : [%f]\n", (float)CUBEBITE_OUTPUT_POWER_DBM_TEST);
jmhong 14:1a6faeda6579 188
jmhong 14:1a6faeda6579 189 #endif //CUBEBITE_RF_SPEED_TEST_SEND_ON
jmhong 14:1a6faeda6579 190
jmhong 14:1a6faeda6579 191 #ifdef CUBEBITE_RF_SPEED_TEST_RECV_ON
jmhong 14:1a6faeda6579 192 printf("\nRSSI threshold Setting value : [%d]\n", (int)CCA_THRESHOLD);
jmhong 14:1a6faeda6579 193 #endif //CUBEBITE_RF_SPEED_TEST_RECV_ON
jmhong 14:1a6faeda6579 194
jmhong 14:1a6faeda6579 195 wait(2);
jmhong 14:1a6faeda6579 196 #endif //CUBEBITE_RF_SETTING_VALUE_PRINT
jmhong 14:1a6faeda6579 197
jmhong 14:1a6faeda6579 198 while(1)
jmhong 14:1a6faeda6579 199 {
jmhong 14:1a6faeda6579 200 /* low power in idle condition., waiting for an event */
jmhong 14:1a6faeda6579 201 __WFE();
jmhong 14:1a6faeda6579 202
jmhong 14:1a6faeda6579 203 #ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON
jmhong 14:1a6faeda6579 204 iReturn = SendData(myspirit);
jmhong 14:1a6faeda6579 205 if (CUBEBITE_SEND_OK == iReturn)
jmhong 14:1a6faeda6579 206 {
jmhong 14:1a6faeda6579 207 printf("[DEBUG] send OK.\n");
jmhong 14:1a6faeda6579 208 }
jmhong 14:1a6faeda6579 209 else if (CUBEBITE_SEND_ERROR == iReturn)
jmhong 14:1a6faeda6579 210 {
jmhong 14:1a6faeda6579 211 printf("[DEBUG] send ERROR.\n");
jmhong 14:1a6faeda6579 212 }
jmhong 14:1a6faeda6579 213
jmhong 14:1a6faeda6579 214 iReturn = (int)myspirit.get_last_sqi(); //HJM : LQI, 현재 주변 통신 품질 값, 높을수록 좋은 것.
jmhong 14:1a6faeda6579 215 printf("get_last_sqi() return : [%d]\n", iReturn);
jmhong 14:1a6faeda6579 216 #endif
jmhong 14:1a6faeda6579 217
jmhong 14:1a6faeda6579 218 #ifdef CUBEBITE_RF_SPEED_TEST_RECV_ON
jmhong 14:1a6faeda6579 219 if (bRxDoneFlag)
jmhong 14:1a6faeda6579 220 {
jmhong 14:1a6faeda6579 221 iReturn = ReadRcvdData(myspirit);
jmhong 14:1a6faeda6579 222 if (CUBEBITE_RECV_OK == iReturn)
jmhong 14:1a6faeda6579 223 {
jmhong 14:1a6faeda6579 224 //통신 속도 체크시, 응답 send code.
jmhong 14:1a6faeda6579 225 printf("[DEBUG] recv OK.\n");
jmhong 14:1a6faeda6579 226
jmhong 14:1a6faeda6579 227 float fReturn1 = myspirit.get_last_rssi_dbm();
jmhong 14:1a6faeda6579 228 printf("get_last_rssi_dbm() return : [%f]\n", fReturn1); //HJM : 위의 값과 같을 거라고 예상 됨. 나중에 테스트.
jmhong 14:1a6faeda6579 229 if (-50 < fReturn1) //-80 < fReturn1
jmhong 14:1a6faeda6579 230 {
jmhong 14:1a6faeda6579 231 TestLED3 = !TestLED3; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 232 }
jmhong 14:1a6faeda6579 233 else if (-50 >= fReturn1)
jmhong 14:1a6faeda6579 234 {
jmhong 14:1a6faeda6579 235 // TestLED = !TestLED; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 236 TestLED2 = !TestLED2; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 237 // TestLED3 = !TestLED3; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 238 }
jmhong 14:1a6faeda6579 239 else if (-70 >= fReturn1) //-100 >= fReturn1
jmhong 14:1a6faeda6579 240 {
jmhong 14:1a6faeda6579 241 TestLED = !TestLED; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 242 }
jmhong 14:1a6faeda6579 243 }
jmhong 14:1a6faeda6579 244 bRxDoneFlag = 0;
jmhong 14:1a6faeda6579 245 }
jmhong 14:1a6faeda6579 246 #endif
jmhong 14:1a6faeda6579 247
jmhong 14:1a6faeda6579 248 }
jmhong 14:1a6faeda6579 249 /* unreachable */
jmhong 14:1a6faeda6579 250 // myspirit.off();
jmhong 14:1a6faeda6579 251 // return 0;
jmhong 14:1a6faeda6579 252 }
jmhong 11:f8396aa48de6 253
jmhong 11:f8396aa48de6 254
rosarium 0:2ddc0583bcec 255
jmhong 10:cc81b87e005e 256
jmhong 10:cc81b87e005e 257
rosarium 1:cf2e2f85bf8d 258 /**
rosarium 1:cf2e2f85bf8d 259 * @brief callback_func
rosarium 1:cf2e2f85bf8d 260 * @param callback event
rosarium 1:cf2e2f85bf8d 261 * @retval None.
rosarium 1:cf2e2f85bf8d 262 */
rosarium 0:2ddc0583bcec 263 static void callback_func(int event)
rosarium 0:2ddc0583bcec 264 {
jmhong 11:f8396aa48de6 265 #ifdef CUBEBITE_DEBUG
jmhong 11:f8396aa48de6 266 printf("[CUBEBITE] callback_func(int event) \n");
jmhong 11:f8396aa48de6 267 #endif
jmhong 14:1a6faeda6579 268
jmhong 10:cc81b87e005e 269
jmhong 11:f8396aa48de6 270 if(event == SimpleSpirit1::RX_DONE)
jmhong 11:f8396aa48de6 271 {
jmhong 14:1a6faeda6579 272 bRxDoneFlag = 1;
jmhong 11:f8396aa48de6 273 }
jmhong 11:f8396aa48de6 274 else if (event == SimpleSpirit1::TX_DONE)
jmhong 11:f8396aa48de6 275 {
jmhong 14:1a6faeda6579 276 bTxDoneFlag = 1;
jmhong 11:f8396aa48de6 277 }
rosarium 0:2ddc0583bcec 278 }
rosarium 0:2ddc0583bcec 279
jmhong 11:f8396aa48de6 280
jmhong 11:f8396aa48de6 281
jmhong 14:1a6faeda6579 282 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 283 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 284 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 285 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 286 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 287 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 288 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 289 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 290 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 291 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 292 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 293 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 294 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 295 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 296 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 297 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 298 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 299 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 300 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 301 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 302 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 303 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 304 //recv
jmhong 11:f8396aa48de6 305
jmhong 11:f8396aa48de6 306
jmhong 11:f8396aa48de6 307
jmhong 11:f8396aa48de6 308
jmhong 11:f8396aa48de6 309
jmhong 11:f8396aa48de6 310
rosarium 4:cae1fa054b86 311 /**
jmhong 14:1a6faeda6579 312 * @brief ReadRcvdData
rosarium 4:cae1fa054b86 313 * @param None
rosarium 4:cae1fa054b86 314 * @retval None
rosarium 4:cae1fa054b86 315 */
jmhong 14:1a6faeda6579 316 static int ReadRcvdData(SimpleSpirit1& myspirit)
rosarium 4:cae1fa054b86 317 {
jmhong 11:f8396aa48de6 318 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 319 printf("[CUBEBITE] ReadRcvdData() 호출 됨. \n");
jmhong 11:f8396aa48de6 320 #endif
rosarium 4:cae1fa054b86 321
jmhong 14:1a6faeda6579 322 for(unsigned int flush_count = 0; flush_count < TEST_STR_LEN; flush_count++) uiRendBuf[flush_count] = 0 ;/* clear the read buffer */
jmhong 14:1a6faeda6579 323
jmhong 11:f8396aa48de6 324
jmhong 14:1a6faeda6579 325 int ret = myspirit.read(uiRendBuf, sizeof(uiRendBuf));
jmhong 11:f8396aa48de6 326 if (ret == 0)
jmhong 11:f8396aa48de6 327 {
jmhong 11:f8396aa48de6 328 printf("[CUBEBITE] Read() Error : Nothing to read\n");
jmhong 14:1a6faeda6579 329 return CUBEBITE_RECV_ERROR_READ_NOTHING;
jmhong 11:f8396aa48de6 330 }
jmhong 14:1a6faeda6579 331 printf("ReadRcvdData() 1");
jmhong 14:1a6faeda6579 332
jmhong 14:1a6faeda6579 333 printf("[DEBUG]recv -> %s ", uiRendBuf);
jmhong 14:1a6faeda6579 334
jmhong 14:1a6faeda6579 335 ret = strcmp((const char *)uiRendBuf, (const char *)uiSendBuf);
jmhong 14:1a6faeda6579 336 printf(" 3");
jmhong 11:f8396aa48de6 337 if (0 == ret)
jmhong 11:f8396aa48de6 338 {
jmhong 14:1a6faeda6579 339 // set_ack_bSendDataFlag(); //180118 HJM : 다시 바로 보내는 걸로 수정
jmhong 12:5e20115bd13b 340 // printf("read, send buf collect!!\n");
jmhong 14:1a6faeda6579 341 // TestLED = !TestLED; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 342 printf(" 4");
jmhong 11:f8396aa48de6 343 // bIsAckSended = true;
jmhong 14:1a6faeda6579 344 // printf("[DEBUG]recv -> %s\n", uiRendBuf);
jmhong 14:1a6faeda6579 345 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 346 printf("[DEBUG]recv -> %s\n", uiRendBuf);
jmhong 14:1a6faeda6579 347 #endif
jmhong 14:1a6faeda6579 348
jmhong 14:1a6faeda6579 349 //746zg 보드
jmhong 14:1a6faeda6579 350 // wait(1.0);
jmhong 14:1a6faeda6579 351 /*
jmhong 14:1a6faeda6579 352 int iRet = myspirit.send(uiSendAckBuf, sizetCurrAckBufLen);
jmhong 11:f8396aa48de6 353 if (iRet == RADIO_TX_OK)
jmhong 11:f8396aa48de6 354 {
jmhong 11:f8396aa48de6 355 #ifdef CUBEBITE_DEBUG
jmhong 11:f8396aa48de6 356 printf("ACK : [RADIO_TX_OK]\n");
jmhong 11:f8396aa48de6 357 #endif
jmhong 11:f8396aa48de6 358 }
jmhong 11:f8396aa48de6 359 else if (iRet == RADIO_TX_ERR)
jmhong 11:f8396aa48de6 360 {
jmhong 11:f8396aa48de6 361 #ifdef CUBEBITE_DEBUG
jmhong 11:f8396aa48de6 362 printf("ACK : [RADIO_TX_ERR]\n");
jmhong 11:f8396aa48de6 363 #endif
jmhong 11:f8396aa48de6 364 }
jmhong 11:f8396aa48de6 365 else if (iRet == RADIO_TX_COLLISION)
jmhong 11:f8396aa48de6 366 {
jmhong 11:f8396aa48de6 367 #ifdef CUBEBITE_DEBUG
jmhong 11:f8396aa48de6 368 printf("ACK : [RADIO_TX_COLLISION]\n");
jmhong 11:f8396aa48de6 369 #endif
jmhong 11:f8396aa48de6 370 }
jmhong 11:f8396aa48de6 371 else if (iRet == RADIO_TX_NOACK)
jmhong 11:f8396aa48de6 372 {
jmhong 11:f8396aa48de6 373 #ifdef CUBEBITE_DEBUG
jmhong 11:f8396aa48de6 374 printf("ACK : [RADIO_TX_NOACK]\n");
jmhong 11:f8396aa48de6 375 #endif
jmhong 14:1a6faeda6579 376 }
jmhong 14:1a6faeda6579 377 */
jmhong 14:1a6faeda6579 378
jmhong 14:1a6faeda6579 379 return CUBEBITE_RECV_OK;
jmhong 14:1a6faeda6579 380 printf(" 5 ok\n");
jmhong 14:1a6faeda6579 381 }
jmhong 14:1a6faeda6579 382
jmhong 14:1a6faeda6579 383
jmhong 14:1a6faeda6579 384 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 385 printf("[CUBEBITE] ReadRcvdData() 호출 끝. \n");
jmhong 14:1a6faeda6579 386 #endif
jmhong 14:1a6faeda6579 387
jmhong 14:1a6faeda6579 388 return CUBEBITE_RECV_ERROR_READ_NOT_MATCH;
jmhong 14:1a6faeda6579 389 printf(" 6 error\n");
jmhong 14:1a6faeda6579 390 }
jmhong 14:1a6faeda6579 391
jmhong 14:1a6faeda6579 392
jmhong 14:1a6faeda6579 393
jmhong 14:1a6faeda6579 394 static int ReadRcvdData_ClockMeasure_AckEnd(SimpleSpirit1& myspirit)
jmhong 14:1a6faeda6579 395 {
jmhong 14:1a6faeda6579 396 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 397 printf("[CUBEBITE] ReadRcvdData() 호출 됨. \n");
jmhong 14:1a6faeda6579 398 #endif
jmhong 14:1a6faeda6579 399
jmhong 14:1a6faeda6579 400 for(unsigned int flush_count = 0; flush_count < TEST_STR_LEN; flush_count++) uiRendBuf[flush_count] = 0 ;/* clear the read buffer */
jmhong 14:1a6faeda6579 401
jmhong 14:1a6faeda6579 402 int ret = myspirit.read(uiRendBuf, sizeof(uiRendBuf));
jmhong 14:1a6faeda6579 403 if (ret == 0)
jmhong 14:1a6faeda6579 404 {
jmhong 14:1a6faeda6579 405 printf("[CUBEBITE] Read() Error : Nothing to read\n");
jmhong 14:1a6faeda6579 406 return CUBEBITE_RECV_ERROR_READ_NOTHING;
jmhong 14:1a6faeda6579 407 }
jmhong 14:1a6faeda6579 408 #ifdef CUBEBITE_RF_SPEED_TEST_RECV_ON
jmhong 14:1a6faeda6579 409 ret = strcmp((const char *)uiRendBuf, (const char *)uiSendBuf);
jmhong 14:1a6faeda6579 410 if (0 == ret)
jmhong 14:1a6faeda6579 411 {
jmhong 14:1a6faeda6579 412 // set_ack_bSendDataFlag(); //180118 HJM : 다시 바로 보내는 걸로 수정
jmhong 14:1a6faeda6579 413 // printf("read, send buf collect!!\n");
jmhong 14:1a6faeda6579 414 TestLED = !TestLED; /* Toggle LED at the receiver */
jmhong 14:1a6faeda6579 415 // bIsAckSended = true;
jmhong 14:1a6faeda6579 416 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 417 printf("[DEBUG]recv -> %s\n", uiRendBuf);
jmhong 14:1a6faeda6579 418 #endif
jmhong 14:1a6faeda6579 419
jmhong 14:1a6faeda6579 420 //746zg 보드
jmhong 14:1a6faeda6579 421 // wait(1.0);
jmhong 14:1a6faeda6579 422 /*
jmhong 14:1a6faeda6579 423 int iRet = myspirit.send(uiSendAckBuf, sizetCurrAckBufLen);
jmhong 14:1a6faeda6579 424 if (iRet == RADIO_TX_OK)
jmhong 14:1a6faeda6579 425 {
jmhong 14:1a6faeda6579 426 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 427 printf("ACK : [RADIO_TX_OK]\n");
jmhong 14:1a6faeda6579 428 #endif
jmhong 14:1a6faeda6579 429 }
jmhong 14:1a6faeda6579 430 else if (iRet == RADIO_TX_ERR)
jmhong 14:1a6faeda6579 431 {
jmhong 14:1a6faeda6579 432 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 433 printf("ACK : [RADIO_TX_ERR]\n");
jmhong 14:1a6faeda6579 434 #endif
jmhong 14:1a6faeda6579 435 }
jmhong 14:1a6faeda6579 436 else if (iRet == RADIO_TX_COLLISION)
jmhong 14:1a6faeda6579 437 {
jmhong 14:1a6faeda6579 438 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 439 printf("ACK : [RADIO_TX_COLLISION]\n");
jmhong 14:1a6faeda6579 440 #endif
jmhong 14:1a6faeda6579 441 }
jmhong 14:1a6faeda6579 442 else if (iRet == RADIO_TX_NOACK)
jmhong 14:1a6faeda6579 443 {
jmhong 14:1a6faeda6579 444 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 445 printf("ACK : [RADIO_TX_NOACK]\n");
jmhong 14:1a6faeda6579 446 #endif
jmhong 14:1a6faeda6579 447 }
jmhong 14:1a6faeda6579 448 */
jmhong 14:1a6faeda6579 449
jmhong 14:1a6faeda6579 450 return CUBEBITE_RECV_OK;
jmhong 11:f8396aa48de6 451 }
jmhong 11:f8396aa48de6 452 #endif
jmhong 11:f8396aa48de6 453
jmhong 11:f8396aa48de6 454 #ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON
jmhong 11:f8396aa48de6 455 //401re 보드
jmhong 11:f8396aa48de6 456 if (true == bIsSendFirstClockFunctionStarted)
jmhong 11:f8396aa48de6 457 {
jmhong 14:1a6faeda6579 458 clocktimeRFSpeedTestEnd = clock();
jmhong 11:f8396aa48de6 459 }
jmhong 14:1a6faeda6579 460 //printf("[DEBUG]recv -> %s\n", uiRendBuf);
jmhong 11:f8396aa48de6 461 #endif
jmhong 11:f8396aa48de6 462
jmhong 11:f8396aa48de6 463
jmhong 11:f8396aa48de6 464 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 465 printf("[CUBEBITE] ReadRcvdData() 호출 끝. \n");
jmhong 11:f8396aa48de6 466 #endif
jmhong 14:1a6faeda6579 467
jmhong 14:1a6faeda6579 468 return CUBEBITE_RECV_ERROR_READ_NOT_MATCH;
rosarium 4:cae1fa054b86 469 }
rosarium 4:cae1fa054b86 470
jmhong 14:1a6faeda6579 471
jmhong 14:1a6faeda6579 472
jmhong 14:1a6faeda6579 473
jmhong 14:1a6faeda6579 474
jmhong 14:1a6faeda6579 475
jmhong 14:1a6faeda6579 476 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 477 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 478 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 479 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 480 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 481 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 482 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 483 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 484 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 485 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 486 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 487 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 488 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 489 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 490 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 491 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 492 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 493 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 494 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 495 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 496 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 497 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
jmhong 14:1a6faeda6579 498 //send
jmhong 14:1a6faeda6579 499
jmhong 14:1a6faeda6579 500
jmhong 14:1a6faeda6579 501
jmhong 11:f8396aa48de6 502
jmhong 11:f8396aa48de6 503
rosarium 4:cae1fa054b86 504
rosarium 1:cf2e2f85bf8d 505 /**
jmhong 14:1a6faeda6579 506 * @brief SendData
rosarium 1:cf2e2f85bf8d 507 * @param None
jmhong 14:1a6faeda6579 508 * @retval None
rosarium 1:cf2e2f85bf8d 509 */
jmhong 14:1a6faeda6579 510 static int SendData(SimpleSpirit1& myspirit)
jmhong 14:1a6faeda6579 511 {
jmhong 14:1a6faeda6579 512 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 513 printf("[CUBEBITE] SendData() 호출 됨.\n");
jmhong 14:1a6faeda6579 514 #endif
jmhong 14:1a6faeda6579 515 while(myspirit.is_receiving()); /* wait for ongoing RX ends 180110 HJM 아마 이 전에 보내던 거 마저 다 보내려고 하는 거 같다. */
jmhong 14:1a6faeda6579 516
jmhong 14:1a6faeda6579 517 size_t curr_len = strlen((const char*)uiSendBuf) + 1;
jmhong 10:cc81b87e005e 518 int iRet = 0;
jmhong 11:f8396aa48de6 519
jmhong 14:1a6faeda6579 520 printf("SendData() uiSendBuf -> [%s]\n", uiSendBuf);
jmhong 14:1a6faeda6579 521 iRet = myspirit.send(uiSendBuf, curr_len);
jmhong 14:1a6faeda6579 522 if (iRet == RADIO_TX_OK)
jmhong 14:1a6faeda6579 523 {
jmhong 14:1a6faeda6579 524 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 525 printf("[RADIO_TX_OK]\n");
jmhong 14:1a6faeda6579 526 #endif
jmhong 14:1a6faeda6579 527 return CUBEBITE_SEND_OK;
jmhong 14:1a6faeda6579 528 }
jmhong 14:1a6faeda6579 529 else if (iRet == RADIO_TX_ERR)
jmhong 14:1a6faeda6579 530 {
jmhong 14:1a6faeda6579 531 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 532 printf("[RADIO_TX_ERR]\n");
jmhong 14:1a6faeda6579 533 #endif
jmhong 14:1a6faeda6579 534 return CUBEBITE_SEND_ERROR;
jmhong 14:1a6faeda6579 535 }
jmhong 14:1a6faeda6579 536 else if (iRet == RADIO_TX_COLLISION)
jmhong 14:1a6faeda6579 537 {
jmhong 14:1a6faeda6579 538 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 539 printf("[RADIO_TX_COLLISION]\n");
jmhong 14:1a6faeda6579 540 #endif
jmhong 14:1a6faeda6579 541 return CUBEBITE_SEND_COLLISION;
jmhong 14:1a6faeda6579 542 }
jmhong 14:1a6faeda6579 543 else if (iRet == RADIO_TX_NOACK)
jmhong 14:1a6faeda6579 544 {
jmhong 14:1a6faeda6579 545 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 546 printf("[RADIO_TX_NOACK]\n");
jmhong 14:1a6faeda6579 547 #endif
jmhong 14:1a6faeda6579 548 return CUBEBITE_SEND_NOACK;
jmhong 14:1a6faeda6579 549 }
jmhong 10:cc81b87e005e 550
jmhong 11:f8396aa48de6 551 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 552 printf("[CUBEBITE] SendData() 호출 끝.\n");
jmhong 11:f8396aa48de6 553 #endif
jmhong 10:cc81b87e005e 554
jmhong 14:1a6faeda6579 555 return CUBEBITE_SEND_ERROR_UNKNOWN;
jmhong 14:1a6faeda6579 556 }
jmhong 11:f8396aa48de6 557
jmhong 10:cc81b87e005e 558
jmhong 14:1a6faeda6579 559 static int SendData_ClockMeasure_AckStart(SimpleSpirit1& myspirit)
jmhong 14:1a6faeda6579 560 {
jmhong 14:1a6faeda6579 561 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 562 printf("[CUBEBITE] SendData() 호출 됨.\n");
jmhong 10:cc81b87e005e 563 #endif
jmhong 14:1a6faeda6579 564 while(myspirit.is_receiving()); /* wait for ongoing RX ends 180110 HJM 아마 이 전에 보내던 거 마저 다 보내려고 하는 거 같다. */
jmhong 14:1a6faeda6579 565
jmhong 14:1a6faeda6579 566 size_t curr_len = strlen((const char*)uiSendBuf) + 1;
jmhong 14:1a6faeda6579 567 int iRet = 0;
jmhong 14:1a6faeda6579 568
jmhong 14:1a6faeda6579 569 iRet = myspirit.send(uiSendBuf, curr_len);
jmhong 14:1a6faeda6579 570 if (iRet == RADIO_TX_OK)
jmhong 11:f8396aa48de6 571 {
jmhong 14:1a6faeda6579 572 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 573 printf("[RADIO_TX_OK]\n");
jmhong 14:1a6faeda6579 574 #endif
jmhong 14:1a6faeda6579 575
jmhong 14:1a6faeda6579 576 #ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON
jmhong 14:1a6faeda6579 577 if (false == bIsSendFirstClockFunctionStarted)
jmhong 14:1a6faeda6579 578 {
jmhong 14:1a6faeda6579 579 clocktimeRFSpeedTestStart = clock();
jmhong 14:1a6faeda6579 580 bIsSendFirstClockFunctionStarted = true;
jmhong 14:1a6faeda6579 581 }
jmhong 14:1a6faeda6579 582 #endif
jmhong 14:1a6faeda6579 583
jmhong 14:1a6faeda6579 584 return CUBEBITE_SEND_OK;
jmhong 14:1a6faeda6579 585 }
jmhong 14:1a6faeda6579 586 else if (iRet == RADIO_TX_ERR)
jmhong 14:1a6faeda6579 587 {
jmhong 14:1a6faeda6579 588 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 589 printf("[RADIO_TX_ERR]\n");
jmhong 14:1a6faeda6579 590 #endif
jmhong 14:1a6faeda6579 591 return CUBEBITE_SEND_ERROR;
jmhong 14:1a6faeda6579 592 }
jmhong 14:1a6faeda6579 593 else if (iRet == RADIO_TX_COLLISION)
jmhong 14:1a6faeda6579 594 {
jmhong 14:1a6faeda6579 595 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 596 printf("[RADIO_TX_COLLISION]\n");
jmhong 14:1a6faeda6579 597 #endif
jmhong 14:1a6faeda6579 598 return CUBEBITE_SEND_COLLISION;
jmhong 14:1a6faeda6579 599 }
jmhong 14:1a6faeda6579 600 else if (iRet == RADIO_TX_NOACK)
jmhong 14:1a6faeda6579 601 {
jmhong 14:1a6faeda6579 602 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 603 printf("[RADIO_TX_NOACK]\n");
jmhong 14:1a6faeda6579 604 #endif
jmhong 14:1a6faeda6579 605 return CUBEBITE_SEND_NOACK;
jmhong 14:1a6faeda6579 606 }
jmhong 11:f8396aa48de6 607
jmhong 14:1a6faeda6579 608 #ifdef CUBEBITE_DEBUG
jmhong 14:1a6faeda6579 609 printf("[CUBEBITE] SendData() 호출 끝.\n");
jmhong 14:1a6faeda6579 610 #endif
jmhong 14:1a6faeda6579 611
jmhong 14:1a6faeda6579 612 return CUBEBITE_SEND_ERROR_UNKNOWN;
jmhong 14:1a6faeda6579 613 }
jmhong 10:cc81b87e005e 614
jmhong 12:5e20115bd13b 615
jmhong 12:5e20115bd13b 616
jmhong 12:5e20115bd13b 617
jmhong 14:1a6faeda6579 618
jmhong 14:1a6faeda6579 619
jmhong 12:5e20115bd13b 620
jmhong 14:1a6faeda6579 621
jmhong 11:f8396aa48de6 622
jmhong 14:1a6faeda6579 623