Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ADXL362_bugFix stm-spirit1-rf-driver_for_cubebite
Fork of cubebite_rnd_ev-cog-ad3029lz_433MHz_2nd_testing2_RF10CountSensingCheckOK_180619_initReviseTest by
main.cpp
- Committer:
- jmhong
- Date:
- 2018-03-21
- Revision:
- 0:c2a57b2f934e
- Child:
- 1:04f46755f8af
File content as of revision 0:c2a57b2f934e:
//#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;
}
