180622 HJM : 10 Count sensing data RF send
Dependencies: 1_cubebite_ev-cog-ad3029lz_433MHz_1nd_certTest stm-spirit1-rf-driver_for_cubebite2
Diff: main.cpp
- Revision:
- 0:c2a57b2f934e
- Child:
- 1:04f46755f8af
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Mar 21 05:06:15 2018 +0000 @@ -0,0 +1,622 @@ +//#include "mbed.h" +#include "ADXL362.h" +//#include "SimpleSpirit1.h" +#include "main.h" + + +//************************************************************************************* +//Define : Test, Compile +//************************************************************************************* +/* 180108 cubebite HJM : cubebite Testing define, 1개씩만 켜야 함. */ +#define CUBEBITE_RF_SPEED_TEST_SEND_ON +//#define CUBEBITE_RF_SPEED_TEST_RECV_ON + + +/* 180109 cubebite HJM : cubebite Compile define, 1개씩만 켜야 함. */ +//#define CUBEBITE_BOARD_F746ZG +//#define CUBEBITE_BOARD_F401RE +#define CUBEBITE_BOARD_AD3029LZ + + +#define CUBEBITE_RF_SETTING_VALUE_PRINT +//************************************************************************************* + +#define HEAVY_DEBUG + + + +//DigitalOut led1(LED1); +//DigitalOut led2(LED2); +//ADXL362 adxl362(P1_07, P1_08, P1_06, P1_10); // Accelerometer (mosi, miso, sclk, cs), SPI 1 +//ADXL362 adxl362(P0_01, P0_02, P0_00, P0_03); // Accelerometer (mosi, miso, sclk, cs), SPI 0 + + +//180321 HJM : IRQ를 GPIO 28 로 사용, send error를 띄움 +//static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(P0_01, P0_02, P0_00, P1_12 ,P2_08, P1_14); +// // P0_01[SPI0_MOSI] +// // P0_02[SPI0_MISO], +// // P0_00[SPI0_CLK], +// // P1_12[GPIO 28, RF(GPIO 0)]->IRQ로 설정, +// // P2_08[SPI0_CS2], +// // P1_14[GPIO 30, RF (SDN)] + + +//180321 HJM : IRQ를 GPIO 27 로 사용, +static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(P0_01, P0_02, P0_00, P1_11 ,P2_08, P1_14); + // P0_01[SPI0_MOSI] + // P0_02[SPI0_MISO], + // P0_00[SPI0_CLK], + // P1_11[GPIO 27, RF(GPIO 2)]->IRQ로 설정, + // P2_08[SPI0_CS2], + // P1_14[GPIO 30, RF (SDN)] + + + + + + + + + + + + + +//static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(P0_01, P0_02, P0_00, P1_12 ,P2_08, P1_14); +// // P0_01[SPI0_MOSI] +// // P0_02[SPI0_MISO], +// // P0_00[SPI0_CLK], +// // P1_12[GPIO 28, RF(GPIO 0)]->IRQ로 설정, (이건 맞음, 찍었을때 파형나옴) +// // P2_08[SPI0_CS2], +// // P1_14[GPIO 30, RF (SDN)] + + + +//static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(P0_01, P0_02, P0_00, P1_12 , SPI0_CS2, P1_14); +// // P0_01[SPI0_MOSI] +// // P0_02[SPI0_MISO], +// // P0_00[SPI0_CLK], +// // P1_12[GPIO 28, RF(GPIO 0)]->IRQ로 설정, (이건 맞음, 찍었을때 파형나옴) +// // P2_08[SPI0_CS2], +// // P1_14[GPIO 30, RF (SDN)] + + + +//static SimpleSpirit1 &myspirit = SimpleSpirit1::CreateInstance(P1_03, P1_04, P1_02, P1_12 ,P2_10, P1_14); + // P1_03[SPI2_MOSI] + // P1_04[SPI2_MISO], + // P1_02[SPI2_CLK], + // P1_12[GPIO 28, RF(GPIO 0)]->IRQ로 설정, (이건 맞음, 찍었을때 파형나옴) + // P2_10[SPI2_CS2], + // P1_14[GPIO 30, RF (SDN)] + + + + +static int ReadRcvdData(SimpleSpirit1& myspirit); +static int ReadRcvdData_ClockMeasure_AckEnd(SimpleSpirit1& myspirit); + +static int SendData(SimpleSpirit1& myspirit); +static int SendData_ClockMeasure_AckStart(SimpleSpirit1& myspirit); + + +enum RecvReturnValue +{ + CUBEBITE_RECV_OK = 0, CUBEBITE_RECV_ERROR_READ_NOTHING, CUBEBITE_RECV_ERROR_READ_NOT_MATCH +}; + +enum SendReturnValue +{ + CUBEBITE_SEND_OK = 0, CUBEBITE_SEND_ERROR, CUBEBITE_SEND_COLLISION, CUBEBITE_SEND_NOACK, CUBEBITE_SEND_ERROR_UNKNOWN +}; + + +/** + * @brief callback_func + * @param callback event + * @retval None. + */ +static void callback_func(int event) +{ +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] callback_func(int event) \n"); +#endif + + + if(event == SimpleSpirit1::RX_DONE) + { + bRxDoneFlag = 1; + } + else if (event == SimpleSpirit1::TX_DONE) + { + bTxDoneFlag = 1; + } +} + + +//HJM I2C PullUp Test +DigitalIn TempSupply(P1_11); + + +// main() runs in its own thread in the OS +int main() +{ + // local variables + int8_t x8 = 0; + int8_t y8 = 0; + int8_t z8 = 0; + uint8_t reg; + int iReturn; + + printf("Hi Eureka!\r\n"); + +// TempSupply.write(1); + + //// set up SPI interface +// adxl362.init_spi(); +// +// // Set up accelerometer +// adxl362.init_adxl362(); +// +// // Check settings +// reg = adxl362.ACC_ReadReg(FILTER_CTL); +// printf("FILTER_CTL = 0x%X\r\n", reg); +// + + printf("P0_00 : [%d] (0 << GPIO_PORT_SHIFT | 0 ) : [%d]\n", P0_00, (0 << GPIO_PORT_SHIFT | 0 )); + printf("P1_00 : [%d] (1 << GPIO_PORT_SHIFT | 0 ) : [%d]\n", P1_00, (1 << GPIO_PORT_SHIFT | 0 )); + + + + //printf("\n\nPIN Number 16, P2_03, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_03); +// printf("PIN Number 17, P2_04, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_04); +// printf("PIN Number 18, P2_05, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_05); +// printf("PIN Number 19, P2_06, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_06); +// printf("PIN Number 20, P2_07, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_07); +// printf("PIN Number 21, P2_08, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_08); +// printf("PIN Number 22, P2_09, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_09); +// printf("PIN Number 23, P2_10, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P2_10); +// printf("PIN Number 24, P0_05, ADC0_VIN0/GPIO35 : 십진수 -> [%d], 십육진수 -> [0x%X]\n", P0_05); + +/* 180108 cubebite HJM : spirit module, init code */ + printf("[CUBEBITE] Init "); + /* LED off */ +// TestLED = 0; + myspirit.attach_irq_callback(callback_func); + iReturn = myspirit.on(); + if ( 0 == iReturn ) + { + printf("OK.\n"); + } + else + { + printf("ERROR.\n"); + } + +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] CUBEBITE_DEBUG ON. \n"); +#endif //CUBEBITE_DEBUG + + +#ifdef CUBEBITE_RF_SETTING_VALUE_PRINT + printf("Xtal offset in ppm : [%d]\n", XTAL_OFFSET_PPM); + printf("base frequency : [%d]\n", (uint32_t)BASE_FREQUENCY); + printf("channel space : [%d]\n", (uint32_t)CHANNEL_SPACE); + printf("channel number : [%d]\n", CHANNEL_NUMBER); + printf("modulation select : [%d]\n", MODULATION_SELECT); + printf("data rate : [%d]\n", DATARATE); + printf("frequency deviation : [%d]\n", (uint32_t)FREQ_DEVIATION); + printf("channel filter bandwidth : [%d]\n", (uint32_t)BANDWIDTH); + #ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON + printf("\nOutput Power(dBm) : [%f]\n", POWER_DBM); +// printf("\nOutput Power(dBm) : [%f]\n", (float)CUBEBITE_OUTPUT_POWER_DBM_TEST); + + #endif //CUBEBITE_RF_SPEED_TEST_SEND_ON + + #ifdef CUBEBITE_RF_SPEED_TEST_RECV_ON + printf("\nRSSI threshold Setting value : [%d]\n", (int)CCA_THRESHOLD); + #endif //CUBEBITE_RF_SPEED_TEST_RECV_ON + + wait(2); +#endif //CUBEBITE_RF_SETTING_VALUE_PRINT + + while(1) + { + /* low power in idle condition., waiting for an event */ +// __WFE(); + + + + + + + +#ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON + iReturn = SendData(myspirit); + if (CUBEBITE_SEND_OK == iReturn) + { + printf("[DEBUG] send OK.\n"); + } + else if (CUBEBITE_SEND_ERROR == iReturn) + { + printf("[DEBUG] send ERROR.\n"); + } + + iReturn = (int)myspirit.get_last_sqi(); //HJM : LQI, 현재 주변 통신 품질 값, 높을수록 좋은 것. + printf("get_last_sqi() return : [%d]\n", iReturn); +#endif + +#ifdef CUBEBITE_RF_SPEED_TEST_RECV_ON + if (bRxDoneFlag) + { + iReturn = ReadRcvdData(myspirit); + if (CUBEBITE_RECV_OK == iReturn) + { + //통신 속도 체크시, 응답 send code. + printf("[DEBUG] recv OK.\n"); + + float fReturn1 = myspirit.get_last_rssi_dbm(); + printf("get_last_rssi_dbm() return : [%f]\n", fReturn1); //HJM : 위의 값과 같을 거라고 예상 됨. 나중에 테스트. + if (-50 < fReturn1) //-80 < fReturn1 + { + TestLED3 = !TestLED3; /* Toggle LED at the receiver */ + } + else if (-50 >= fReturn1) + { +// TestLED = !TestLED; /* Toggle LED at the receiver */ + TestLED2 = !TestLED2; /* Toggle LED at the receiver */ +// TestLED3 = !TestLED3; /* Toggle LED at the receiver */ + } + else if (-70 >= fReturn1) //-100 >= fReturn1 + { + TestLED = !TestLED; /* Toggle LED at the receiver */ + } + } + bRxDoneFlag = 0; + } +#endif + + } + /* unreachable */ + // myspirit.off(); + // return 0; + +} + + + + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//recv + + + + + + +/** + * @brief ReadRcvdData + * @param None + * @retval None + */ +static int ReadRcvdData(SimpleSpirit1& myspirit) +{ +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] ReadRcvdData() 호출 됨. \n"); +#endif + + for(unsigned int flush_count = 0; flush_count < TEST_STR_LEN; flush_count++) uiRendBuf[flush_count] = 0 ;/* clear the read buffer */ + + + int ret = myspirit.read(uiRendBuf, sizeof(uiRendBuf)); + if (ret == 0) + { + printf("[CUBEBITE] Read() Error : Nothing to read\n"); + return CUBEBITE_RECV_ERROR_READ_NOTHING; + } + printf("ReadRcvdData() 1"); + + printf("[DEBUG]recv -> %s ", uiRendBuf); + + ret = strcmp((const char *)uiRendBuf, (const char *)uiSendBuf); + printf(" 3"); + if (0 == ret) + { +// set_ack_bSendDataFlag(); //180118 HJM : 다시 바로 보내는 걸로 수정 +// printf("read, send buf collect!!\n"); +// TestLED = !TestLED; /* Toggle LED at the receiver */ + printf(" 4"); +// bIsAckSended = true; +// printf("[DEBUG]recv -> %s\n", uiRendBuf); +#ifdef CUBEBITE_DEBUG + printf("[DEBUG]recv -> %s\n", uiRendBuf); +#endif + + //746zg 보드 +// wait(1.0); +/* + int iRet = myspirit.send(uiSendAckBuf, sizetCurrAckBufLen); + if (iRet == RADIO_TX_OK) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_OK]\n"); + #endif + } + else if (iRet == RADIO_TX_ERR) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_ERR]\n"); + #endif + } + else if (iRet == RADIO_TX_COLLISION) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_COLLISION]\n"); + #endif + } + else if (iRet == RADIO_TX_NOACK) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_NOACK]\n"); + #endif + } + */ + + return CUBEBITE_RECV_OK; + printf(" 5 ok\n"); + } + + +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] ReadRcvdData() 호출 끝. \n"); +#endif + + return CUBEBITE_RECV_ERROR_READ_NOT_MATCH; + printf(" 6 error\n"); +} + + + +static int ReadRcvdData_ClockMeasure_AckEnd(SimpleSpirit1& myspirit) +{ +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] ReadRcvdData() 호출 됨. \n"); +#endif + + for(unsigned int flush_count = 0; flush_count < TEST_STR_LEN; flush_count++) uiRendBuf[flush_count] = 0 ;/* clear the read buffer */ + + int ret = myspirit.read(uiRendBuf, sizeof(uiRendBuf)); + if (ret == 0) + { + printf("[CUBEBITE] Read() Error : Nothing to read\n"); + return CUBEBITE_RECV_ERROR_READ_NOTHING; + } +#ifdef CUBEBITE_RF_SPEED_TEST_RECV_ON + ret = strcmp((const char *)uiRendBuf, (const char *)uiSendBuf); + if (0 == ret) + { +// set_ack_bSendDataFlag(); //180118 HJM : 다시 바로 보내는 걸로 수정 +// printf("read, send buf collect!!\n"); + TestLED = !TestLED; /* Toggle LED at the receiver */ +// bIsAckSended = true; +#ifdef CUBEBITE_DEBUG + printf("[DEBUG]recv -> %s\n", uiRendBuf); +#endif + + //746zg 보드 +// wait(1.0); +/* + int iRet = myspirit.send(uiSendAckBuf, sizetCurrAckBufLen); + if (iRet == RADIO_TX_OK) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_OK]\n"); + #endif + } + else if (iRet == RADIO_TX_ERR) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_ERR]\n"); + #endif + } + else if (iRet == RADIO_TX_COLLISION) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_COLLISION]\n"); + #endif + } + else if (iRet == RADIO_TX_NOACK) + { + #ifdef CUBEBITE_DEBUG + printf("ACK : [RADIO_TX_NOACK]\n"); + #endif + } + */ + + return CUBEBITE_RECV_OK; + } +#endif + +//#ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON +// //401re 보드 +// if (true == bIsSendFirstClockFunctionStarted) +// { +// clocktimeRFSpeedTestEnd = clock(); +// } +// //printf("[DEBUG]recv -> %s\n", uiRendBuf); +//#endif + + +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] ReadRcvdData() 호출 끝. \n"); +#endif + + return CUBEBITE_RECV_ERROR_READ_NOT_MATCH; +} + + + + + + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//send + + + + + + +/** + * @brief SendData + * @param None + * @retval None + */ +static int SendData(SimpleSpirit1& myspirit) +{ +//#ifdef CUBEBITE_DEBUG +// printf("[CUBEBITE] SendData() 호출 됨.\n"); +//#endif + printf("[CUBEBITE] SendData() 호출 됨.\n"); + while(myspirit.is_receiving()); /* wait for ongoing RX ends 180110 HJM 아마 이 전에 보내던 거 마저 다 보내려고 하는 거 같다. */ + + size_t curr_len = strlen((const char*)uiSendBuf) + 1; + int iRet = 0; + + printf("SendData() uiSendBuf -> [%s]\n", uiSendBuf); + iRet = myspirit.send(uiSendBuf, curr_len); + if (iRet == RADIO_TX_OK) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_OK]\n"); +#endif + return CUBEBITE_SEND_OK; + } + else if (iRet == RADIO_TX_ERR) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_ERR]\n"); +#endif + return CUBEBITE_SEND_ERROR; + } + else if (iRet == RADIO_TX_COLLISION) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_COLLISION]\n"); +#endif + return CUBEBITE_SEND_COLLISION; + } + else if (iRet == RADIO_TX_NOACK) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_NOACK]\n"); +#endif + return CUBEBITE_SEND_NOACK; + } + +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] SendData() 호출 끝.\n"); +#endif + + return CUBEBITE_SEND_ERROR_UNKNOWN; +} + + +static int SendData_ClockMeasure_AckStart(SimpleSpirit1& myspirit) +{ +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] SendData() 호출 됨.\n"); +#endif + while(myspirit.is_receiving()); /* wait for ongoing RX ends 180110 HJM 아마 이 전에 보내던 거 마저 다 보내려고 하는 거 같다. */ + + size_t curr_len = strlen((const char*)uiSendBuf) + 1; + int iRet = 0; + + iRet = myspirit.send(uiSendBuf, curr_len); + if (iRet == RADIO_TX_OK) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_OK]\n"); +#endif + +//#ifdef CUBEBITE_RF_SPEED_TEST_SEND_ON +// if (false == bIsSendFirstClockFunctionStarted) +// { +// clocktimeRFSpeedTestStart = clock(); +// bIsSendFirstClockFunctionStarted = true; +// } +//#endif + + return CUBEBITE_SEND_OK; + } + else if (iRet == RADIO_TX_ERR) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_ERR]\n"); +#endif + return CUBEBITE_SEND_ERROR; + } + else if (iRet == RADIO_TX_COLLISION) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_COLLISION]\n"); +#endif + return CUBEBITE_SEND_COLLISION; + } + else if (iRet == RADIO_TX_NOACK) + { +#ifdef CUBEBITE_DEBUG + printf("[RADIO_TX_NOACK]\n"); +#endif + return CUBEBITE_SEND_NOACK; + } + +#ifdef CUBEBITE_DEBUG + printf("[CUBEBITE] SendData() 호출 끝.\n"); +#endif + + return CUBEBITE_SEND_ERROR_UNKNOWN; +} +