Files
slhal/EF3Lite/hal_sbus_in_wrapper.c
T

100 lines
2.2 KiB
C
Raw Normal View History

2020-04-13 15:19:23 +08:00
/*
* Include Files
*
*/
#if defined(MATLAB_MEX_FILE)
#include "tmwtypes.h"
#include "simstruc_types.h"
#else
#include "rtwtypes.h"
#endif
#include "hal_api.h"
/* %%%-SFUNWIZ_wrapper_includes_Changes_BEGIN --- EDIT HERE TO _END */
#ifdef HAL_IMPL
//#include "param_mgr.h"
2020-06-09 11:30:15 +08:00
#include "DrvSbus.h"
2020-04-13 15:19:23 +08:00
#endif
#include <stdint.h>
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
#define y_width 1
/*
* Create external references here.
*
*/
/* %%%-SFUNWIZ_wrapper_externs_Changes_BEGIN --- EDIT HERE TO _END */
int is_sbus_in_init[1];
void sbus_input_init(uint8_t id)
{
switch (id)
{
case 0:
if (!is_sbus_in_init[0])
{
#ifdef HAL_IMPL
//TODO config channels, update rate, etc. and bind properties
is_sbus_in_init[0] = 1;
#endif
}
}
}
/* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */
/*
* Start function
*
*/
void hal_sbus_in_Start_wrapper(const uint8_T *id, const int_T p_width0)
{
/* %%%-SFUNWIZ_wrapper_Start_Changes_BEGIN --- EDIT HERE TO _END */
sbus_input_init(id[0]);
/* %%%-SFUNWIZ_wrapper_Start_Changes_END --- EDIT HERE TO _BEGIN */
}
/*
* Output function
*
*/
void hal_sbus_in_Outputs_wrapper(HAL_sbus_in_t *sbus,
int32_T *ErrorCode,
const uint8_T *id, const int_T p_width0)
{
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
ErrorCode[0] = -1;
/*
* input *AI* from ADC channels from *start_idx* to *start_idx*+y_width-1.
*
* ErrorCode - return zero on success, otherwise nonzero on failures.
*/
switch (id[0])
{
case 0u:
if (is_sbus_in_init[0])
{
#ifdef HAL_IMPL
// TODO set sbus outputs
2020-06-09 11:30:15 +08:00
if(g_Hal_RCin_channels.valid & 0x01)
{
for(uint8_T i = 0; i < 19; i++) //for(uint8_T i = start_idx[0]; i < start_idx[0]+y_width; i++)
{
sbus->channels[i] = g_Hal_RCin_channels.channels[i];
}
sbus->seq = g_Hal_RCin_channels.seq;
sbus->valid = 1;
ErrorCode[0] = 0;
}
else
{
ErrorCode[0] = 1;
sbus->valid = 0;
}
2020-04-13 15:19:23 +08:00
#endif
}
break;
}
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
}