implemented BF_exec_cmd_simple() and BF_exec_cmd_with_arr() functions
This commit is contained in:
@ -147,8 +147,49 @@ void sport_tx_done(uint32_t* addr, uint32_t size) {
|
||||
|
||||
@param[in] cmd Структура с описанием принятой команды
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
void usr_cmd_process(t_l502_bf_cmd *cmd) {
|
||||
switch (cmd->code){
|
||||
|
||||
|
||||
/*
|
||||
Command template
|
||||
case 0x800?:{
|
||||
|
||||
l502_cmd_done(rcv_code, rcv_data, rcv_data_length); //void l502_cmd_done (int32_t result, uint32_t *data, uint32_t size)
|
||||
break;
|
||||
}
|
||||
*/
|
||||
// typedef struct {
|
||||
// uint16_t code; /**< Код команды из #t_l502_bf_cmd_code */
|
||||
// uint16_t status; /**< Статус выполнения - в обработчике не изменяется */
|
||||
// uint32_t param; /**< Параметр команды */
|
||||
// int32_t result; /**< Код результата выполнения команды */
|
||||
// uint32_t data_size; /**< Количество данных, переданных с командой или возвращенных с ответом в 32-битных словах */
|
||||
// uint32_t data[L502_BF_CMD_DATA_SIZE_MAX]; /**< Данные, передаваемые с командой и/или в качестве результата */
|
||||
// } t_l502_bf_cmd;
|
||||
|
||||
|
||||
|
||||
|
||||
case 0x8001:{ //L502_BF_USR_CMD_CODE_ECHO
|
||||
l502_cmd_done(cmd-> param, NULL, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x8002:{ //L502_BF_USR_CMD_CODE_DATA_ECHO
|
||||
uint32_t rcv_data[cmd->data_size];
|
||||
for (uint32_t I = 0; I < (cmd -> data_size); ++I){
|
||||
//rcv_data[I] = (cmd-> data)[I];
|
||||
rcv_data[I] = I;
|
||||
}
|
||||
l502_cmd_done(cmd-> param, rcv_data, cmd->data_size);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
case 0x8002:{
|
||||
cmd-> result = cmd->param * 2;
|
||||
uint32_t data[] = {0,1,2,3,4,5,6,5,4,3,2,1,0};
|
||||
@ -159,9 +200,11 @@ void usr_cmd_process(t_l502_bf_cmd *cmd) {
|
||||
uint32_t data[] = {6,5,4,3,2,1,0,1,2,3,4,5,6};
|
||||
l502_cmd_done(cmd-> param*75, data, 13);
|
||||
break;}
|
||||
default:{
|
||||
l502_cmd_done(1, 1, 1);
|
||||
}
|
||||
*/
|
||||
|
||||
default: {
|
||||
l502_cmd_done(1, NULL, 0);
|
||||
}
|
||||
}
|
||||
//l502_cmd_done(1, 1, 1);
|
||||
//l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0);
|
||||
|
||||
Reference in New Issue
Block a user