Files
slhal/B3_AP/hal_ai_wrapper.c
T

86 lines
1.6 KiB
C
Raw Normal View History

2020-07-28 11:39:26 +08:00
/*
* Include Files
*
*/
#if defined(MATLAB_MEX_FILE)
#include "tmwtypes.h"
#include "simstruc_types.h"
#else
#include "rtwtypes.h"
#endif
/* %%%-SFUNWIZ_wrapper_includes_Changes_BEGIN --- EDIT HERE TO _END */
#ifdef HAL_IMPL
//#include "param_mgr.h"
#include "adc_devs.h"
#endif
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
#define u_width 1
/*
* Create external references here.
*
*/
/* %%%-SFUNWIZ_wrapper_externs_Changes_BEGIN --- EDIT HERE TO _END */
int is_analog_input_init = 0;
void analog_input_init()
{
if (!is_analog_input_init)
{
#ifdef HAL_IMPL
//TODO
is_analog_input_init = 1;
#endif
}
}
/* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */
/*
* Start function
*
*/
void hal_ai_Start_wrapper(void)
{
/* %%%-SFUNWIZ_wrapper_Start_Changes_BEGIN --- EDIT HERE TO _END */
analog_input_init();
/* %%%-SFUNWIZ_wrapper_Start_Changes_END --- EDIT HERE TO _BEGIN */
}
/*
* Output function
*
*/
void hal_ai_Outputs_wrapper(const uint16_T *start_idx,
uint16_T *AI,
int32_T *ErrorCode,
const int_T y_width)
{
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
ErrorCode[0] = -1;
if (is_analog_input_init)
{
#ifdef HAL_IMPL
/*
* input *AI* from ADC channels from *start_idx* to *start_idx*+y_width-1.
*
* ErrorCode - return zero on success, otherwise nonzero on failures.
*/
// TODO set analog inputs
for (int_T i=0; i<y_width; ++i)
{
if (start_idx[0] + i <ADC_CH_NUM)
{
AI[i] = adc_values_v[start_idx[0]+i]*1000;
}
}
ErrorCode[0] = 0;
#endif
}
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
}