76 lines
1.6 KiB
C
76 lines
1.6 KiB
C
|
|
#include "elite_dev.h"
|
||
|
|
|
||
|
|
#include "nrf_log.h"
|
||
|
|
|
||
|
|
#if (DEF_ELITE_MODEL == DEF_ELITE_DEV)
|
||
|
|
|
||
|
|
#define VERSION_DATE_YEAR 24
|
||
|
|
#define VERSION_DATE_MONTH 5
|
||
|
|
#define VERSION_DATE_DAY 30
|
||
|
|
#define VERSION_DATE_HOUR 22
|
||
|
|
#define VERSION_DATE_MINUTE 20
|
||
|
|
static void cis_version(uint8_t *ins, uint16_t size)
|
||
|
|
{
|
||
|
|
NRF_LOG_INFO("%s", __FUNCTION__);
|
||
|
|
uint8_t cis_ver[] = {
|
||
|
|
CIS_VERSION,
|
||
|
|
VERSION_DATE_YEAR,
|
||
|
|
VERSION_DATE_MONTH,
|
||
|
|
VERSION_DATE_DAY,
|
||
|
|
VERSION_DATE_HOUR,
|
||
|
|
VERSION_DATE_MINUTE,
|
||
|
|
};
|
||
|
|
extern ret_code_t le_data_upadate(uint8_t * p_value, uint16_t len);
|
||
|
|
le_data_upadate((void *)cis_ver, sizeof(cis_ver));
|
||
|
|
}
|
||
|
|
|
||
|
|
static void vis_rst(uint8_t *ins, uint16_t size)
|
||
|
|
{
|
||
|
|
NRF_LOG_INFO("%s", __FUNCTION__);
|
||
|
|
}
|
||
|
|
|
||
|
|
#define MAGIC_NUM 0xFF00
|
||
|
|
static void dev_mode(uint8_t *ins, uint16_t size)
|
||
|
|
{
|
||
|
|
NRF_LOG_INFO("%s", __FUNCTION__);
|
||
|
|
struct __PACKED
|
||
|
|
{
|
||
|
|
uint8_t id : 4;
|
||
|
|
uint8_t : 4;
|
||
|
|
uint16_t magic : 16;
|
||
|
|
uint8_t opcode;
|
||
|
|
uint8_t param[];
|
||
|
|
} *p_ins = (void *)ins;
|
||
|
|
|
||
|
|
if (p_ins->magic != MAGIC_NUM)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// TODO...
|
||
|
|
switch (p_ins->opcode)
|
||
|
|
{
|
||
|
|
default:
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
const elite_instance_t pel_elite_instance = {
|
||
|
|
.cis_func = {
|
||
|
|
[CIS_VERSION] = cis_version,
|
||
|
|
},
|
||
|
|
.vis_func = {
|
||
|
|
[VIS_RST] = vis_rst,
|
||
|
|
},
|
||
|
|
.ris_func = {
|
||
|
|
[DEV_MODE] = dev_mode,
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
const elite_instance_t *dev_init(void)
|
||
|
|
{
|
||
|
|
return &pel_elite_instance;
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif /* !DEF_ELITE_MODEL */
|