Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a4ec3896a7 | |||
| 389bd1a2dd | |||
| f120b6e915 | |||
| c76dd4e64d | |||
| 00928750e0 | |||
| a28d57ffba | |||
| b02d4d05f4 | |||
| 0e14ba6a37 | |||
| 0b345185f2 | |||
| e61829e042 | |||
| 4133b5a39d | |||
| 08a25154a5 | |||
| 6fcc618980 | |||
| feccaeca10 | |||
| c8c8a7f8a5 | |||
| 7b40684838 | |||
| 0c19f30426 | |||
| 4fcbb9d3ba | |||
| d64fdf41fc | |||
| a77a4e914f | |||
| 9500850836 |
+29
-58
@@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
project(cr929_SIL LANGUAGES C CXX)
|
project(ET39_sil LANGUAGES C CXX)
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
|
||||||
@@ -8,10 +8,9 @@ set(CMAKE_AUTOUIC ON)
|
|||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
add_compile_options(/source-charset:utf-8 /execution-charset:utf-8)
|
|
||||||
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
|
# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
|
||||||
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
|
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
|
||||||
# They need to be set before the find_package(Qt5 ...) call.
|
# They need to be set before the find_package(Qt5 ...) call.
|
||||||
@@ -25,77 +24,49 @@ add_compile_options(/source-charset:utf-8 /execution-charset:utf-8)
|
|||||||
# endif()
|
# endif()
|
||||||
#endif()
|
#endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
find_package(Qt5 COMPONENTS Widgets Network REQUIRED)
|
find_package(Qt5 COMPONENTS Widgets Network REQUIRED)
|
||||||
|
|
||||||
function(include_sub_directories_recursively root_dir)
|
include_directories( ET39_SIL/work/ET39_SIL_ert_shrlib_rtw
|
||||||
if (IS_DIRECTORY ${root_dir}) # 当前路径是一个目录吗,是的话就加入到包含目录
|
ET39_SIL/work/slprj
|
||||||
message("include dir: " ${root_dir})
|
ET39_SIL/work/slprj/ert_shrlib/_sharedutils
|
||||||
include_directories(${root_dir})
|
ET39_SIL/R2018b/rtw/c/src
|
||||||
endif()
|
ET39_SIL/R2018b/simulink/include
|
||||||
|
ET39_SIL/otherFiles
|
||||||
|
)
|
||||||
|
|
||||||
file(GLOB ALL_SUB RELATIVE ${root_dir} ${root_dir}/*) # 获得当前目录下的所有文件,让如ALL_SUB列表中
|
file(GLOB_RECURSE ET39_SIL_SRC ET39_SIL/*.c)
|
||||||
foreach(sub ${ALL_SUB})
|
message(STATUS "Files are ${ET39_SIL_SRC}")
|
||||||
if (IS_DIRECTORY ${root_dir}/${sub})
|
|
||||||
include_sub_directories_recursively(${root_dir}/${sub}) # 对子目录递归调用,包含
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
include_sub_directories_recursively(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}) # 对子目录递归调用, 包含
|
|
||||||
|
|
||||||
message(">>> CMAKE_HEAD_DIR : ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}")
|
|
||||||
|
|
||||||
|
|
||||||
FILE(GLOB_RECURSE ${PROJECT_NAME}_SRC ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}/*.c)
|
|
||||||
FILE(GLOB_RECURSE ${PROJECT_NAME}_LIB ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}/*.lib)
|
|
||||||
|
|
||||||
list(REMOVE_ITEM ${PROJECT_NAME}_SRC "${CMAKE_SOURCE_DIR}/${PROJECT_NAME}/otherFiles/hal_uart_out_wrapper.c")
|
|
||||||
|
|
||||||
message(">>> CMAKE_SOURCE_DIR : ${${PROJECT_NAME}_SRC}")
|
|
||||||
|
|
||||||
add_definitions(-D_NAME=\"${PROJECT_NAME}\")
|
|
||||||
add_definitions(-DWITH_CAPI)
|
add_definitions(-DWITH_CAPI)
|
||||||
add_definitions(-DHAL_IMPL)
|
add_definitions(-DCAPI_MDL=ET39_SIL)
|
||||||
add_definitions(-DCAPI_MDL=${PROJECT_NAME})
|
add_definitions(-DHDR_MDL=ET39_SIL.h)
|
||||||
add_definitions(-DHDR_MDL=${PROJECT_NAME}.h)
|
|
||||||
add_definitions(-DPARAM_PROPS_MAXLEN=512)
|
|
||||||
add_definitions(-DMAVLINK_USE_MESSAGE_INFO)
|
add_definitions(-DMAVLINK_USE_MESSAGE_INFO)
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
add_definitions(-DCAPI_HAND="${PROJECT_NAME}_capi.h")
|
add_library(ET39_sil SHARED
|
||||||
add_definitions(-DSIL_HAND="${PROJECT_NAME}.h")
|
main.cpp
|
||||||
|
mainwindow.cpp
|
||||||
|
mainwindow.h
|
||||||
#link_libraries(${${PROJECT_NAME}_LIB})
|
mainwindow.ui
|
||||||
|
${ET39_SIL_SRC}
|
||||||
|
)
|
||||||
|
else()
|
||||||
add_executable(${PROJECT_NAME} WIN32
|
add_executable(ET39_sil WIN32
|
||||||
mainwindow.cpp
|
mainwindow.cpp
|
||||||
mainwindow.h
|
mainwindow.h
|
||||||
mainwindow.ui
|
mainwindow.ui
|
||||||
main.cpp
|
main.cpp
|
||||||
${${PROJECT_NAME}_SRC}
|
${ET39_SIL_SRC}
|
||||||
${${PROJECT_NAME}_LIB}
|
)
|
||||||
)
|
endif()
|
||||||
|
|
||||||
|
|
||||||
link_directories(${${PROJECT_NAME}_LIB})
|
|
||||||
|
|
||||||
message(">>> ${PROJECT_NAME}_LIB : ${${PROJECT_NAME}_LIB}")
|
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PUBLIC Qt5::Widgets Qt5::Network ${${PROJECT_NAME}_LIB})
|
|
||||||
|
|
||||||
|
|
||||||
|
target_link_libraries(ET39_sil PRIVATE Qt5::Widgets Qt5::Network)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
message("CMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR}")
|
message("CMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR}")
|
||||||
|
install(TARGETS ET39_sil RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||||
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
install(FILES ET39_SIL/work/ET39_SIL_win64.dll DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||||
install(FILES ${PROJECT_NAME}/work/${PROJECT_NAME}_win64.dll DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
|
|
||||||
set(CPACK_GENERATOR ZIP)
|
set(CPACK_GENERATOR ZIP)
|
||||||
set(CPACK_PACKAGE_VERSION_MAJOR 0)
|
set(CPACK_PACKAGE_VERSION_MAJOR 0)
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
#ifndef __APP_CONFIG_H__
|
||||||
|
|
||||||
|
#ifndef AP_DT_MS
|
||||||
|
#define AP_DT_MS (5.0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PARAM_PROPS_MAXLEN
|
||||||
|
#define PARAM_PROPS_MAXLEN (512)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PWM_CHANEL_NUM
|
||||||
|
#define PWM_CHANEL_NUM (12)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef RPM_CHANNEL_NUM
|
||||||
|
#define RPM_CHANNEL_NUM (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef SBUS_ENABLE
|
||||||
|
#define SBUS_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CAN1_ENABLE
|
||||||
|
#define CAN1_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CAN3_ENABLE
|
||||||
|
#define CAN3_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef UART1_RX_ENABLE
|
||||||
|
#define UART1_RX_ENABLE (512)
|
||||||
|
#endif
|
||||||
|
#ifndef UART2_RX_ENABLE
|
||||||
|
#define UART2_RX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef UART4_RX_ENABLE
|
||||||
|
#define UART4_RX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef UART6_RX_ENABLE
|
||||||
|
#define UART6_RX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef UART7_RX_ENABLE
|
||||||
|
#define UART7_RX_ENABLE (512)
|
||||||
|
#endif
|
||||||
|
#ifndef UART8_RX_ENABLE
|
||||||
|
#define UART8_RX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef UART1_TX_ENABLE
|
||||||
|
#define UART1_TX_ENABLE (256)
|
||||||
|
#endif
|
||||||
|
#ifndef UART2_TX_ENABLE
|
||||||
|
#define UART2_TX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef UART4_TX_ENABLE
|
||||||
|
#define UART4_TX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef UART6_TX_ENABLE
|
||||||
|
#define UART6_TX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef UART7_TX_ENABLE
|
||||||
|
#define UART7_TX_ENABLE (256)
|
||||||
|
#endif
|
||||||
|
#ifndef UART8_TX_ENABLE
|
||||||
|
#define UART8_TX_ENABLE (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define UART1_BAUDRATE (460800)
|
||||||
|
#define UART1_WORDLENGTH (UART_WORDLENGTH_8B)
|
||||||
|
#define UART1_STOPBITS (UART_STOPBITS_1)
|
||||||
|
#define UART1_PARITY (UART_PARITY_NONE)
|
||||||
|
#define UART1_MODE (UART_MODE_TX_RX)
|
||||||
|
|
||||||
|
#define UART2_BAUDRATE (460800)
|
||||||
|
#define UART2_WORDLENGTH (UART_WORDLENGTH_8B)
|
||||||
|
#define UART2_STOPBITS (UART_STOPBITS_1)
|
||||||
|
#define UART2_PARITY (UART_PARITY_NONE)
|
||||||
|
#define UART2_MODE (UART_MODE_TX_RX)
|
||||||
|
|
||||||
|
#define UART4_BAUDRATE (100000)
|
||||||
|
#define UART4_WORDLENGTH (UART_WORDLENGTH_9B)
|
||||||
|
#define UART4_STOPBITS (UART_STOPBITS_2)
|
||||||
|
#define UART4_PARITY (UART_PARITY_EVEN)
|
||||||
|
#define UART4_MODE (UART_MODE_RX)
|
||||||
|
|
||||||
|
#define UART6_BAUDRATE (115200)
|
||||||
|
#define UART6_WORDLENGTH (UART_WORDLENGTH_8B)
|
||||||
|
#define UART6_STOPBITS (UART_STOPBITS_1)
|
||||||
|
#define UART6_PARITY (UART_PARITY_NONE)
|
||||||
|
#define UART6_MODE (UART_MODE_TX_RX)
|
||||||
|
|
||||||
|
#define UART7_BAUDRATE (115200)
|
||||||
|
#define UART7_WORDLENGTH (UART_WORDLENGTH_8B)
|
||||||
|
#define UART7_STOPBITS (UART_STOPBITS_1)
|
||||||
|
#define UART7_PARITY (UART_PARITY_NONE)
|
||||||
|
#define UART7_MODE (UART_MODE_TX_RX)
|
||||||
|
|
||||||
|
#define UART8_BAUDRATE (115200)
|
||||||
|
#define UART8_WORDLENGTH (UART_WORDLENGTH_8B)
|
||||||
|
#define UART8_STOPBITS (UART_STOPBITS_1)
|
||||||
|
#define UART8_PARITY (UART_PARITY_NONE)
|
||||||
|
#define UART8_MODE (UART_MODE_TX_RX)
|
||||||
|
|
||||||
|
#endif /* __APP_CONFIG_H__ */
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* 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 WITH_CAPI
|
||||||
|
#include "builtin_typeid_types.h"
|
||||||
|
#include "param_pre.h"
|
||||||
|
#include "param_mgr.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#else
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
#define u_width 1
|
||||||
|
#define y_width 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create external references here.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
/* %%%-SFUNWIZ_wrapper_externs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
|
#ifdef WITH_CAPI
|
||||||
|
void scan_params(void)
|
||||||
|
{
|
||||||
|
const rtwCAPI_ModelMappingStaticInfo* sm;
|
||||||
|
unsigned int m;
|
||||||
|
rtwCAPI_ModelParameters const *prm;
|
||||||
|
rtwCAPI_DataTypeMap const *dtm;
|
||||||
|
rtwCAPI_DimensionMap const *dmm;
|
||||||
|
uint_T const *dam;
|
||||||
|
rtwCAPI_ModelMappingInfo *MMI;
|
||||||
|
void** da;
|
||||||
|
unsigned int i;
|
||||||
|
const char * name;
|
||||||
|
int idx;
|
||||||
|
uint16_t dti;
|
||||||
|
uint16_t dmi;
|
||||||
|
uint8_t ss;
|
||||||
|
uint_T dai;
|
||||||
|
uint8_t nd;
|
||||||
|
uint_T n;
|
||||||
|
uint16_t j;
|
||||||
|
size_t s1,s2;
|
||||||
|
int k;
|
||||||
|
char idx_buff[8];
|
||||||
|
param_prop prop;
|
||||||
|
|
||||||
|
static int is_init=0;
|
||||||
|
|
||||||
|
if (is_init)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
is_init = 1;
|
||||||
|
|
||||||
|
sm = ap_GetCAPIStaticMap_fcn();
|
||||||
|
if (sm)
|
||||||
|
{
|
||||||
|
prop.getter_ptr = NULL;
|
||||||
|
prop.setter_ptr = NULL;
|
||||||
|
//n = rtwCAPI_GetNumBlockParametersFromStaticMap(sm);
|
||||||
|
m = rtwCAPI_GetNumModelParametersFromStaticMap(sm);
|
||||||
|
prm = rtwCAPI_GetModelParametersFromStaticMap(sm);
|
||||||
|
dtm = rtwCAPI_GetDataTypeMapFromStaticMap(sm);
|
||||||
|
dmm = rtwCAPI_GetDimensionMapFromStaticMap(sm);
|
||||||
|
dam = rtwCAPI_GetDimensionArrayFromStaticMap(sm);
|
||||||
|
MMI = &(rtmGetDataMapInfo(ap_M_ptr).mmi);
|
||||||
|
da = rtwCAPI_GetDataAddressMap(MMI);
|
||||||
|
for (i = 0;i<m; ++i)
|
||||||
|
{
|
||||||
|
name = rtwCAPI_GetModelParameterName(prm, i);
|
||||||
|
idx = rtwCAPI_GetModelParameterAddrIdx(prm, i);
|
||||||
|
dti = rtwCAPI_GetModelParameterDataTypeIdx(prm, i);
|
||||||
|
dmi = rtwCAPI_GetModelParameterDimensionIdx(prm, i);
|
||||||
|
ss = rtwCAPI_GetDataTypeSLId(dtm, dti);
|
||||||
|
dai = rtwCAPI_GetDimArrayIndex(dmm, dmi);
|
||||||
|
nd = rtwCAPI_GetNumDims(dmm, dmi);
|
||||||
|
n = 1;
|
||||||
|
for (j=0u;j<nd;++j)
|
||||||
|
{
|
||||||
|
n *= dam[dai+j];
|
||||||
|
}
|
||||||
|
for (j=0;j<n;++j)
|
||||||
|
{
|
||||||
|
switch (ss)
|
||||||
|
{
|
||||||
|
case SS_DOUBLE:
|
||||||
|
{
|
||||||
|
prop.val_ptr.d = &((double *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_REAL64;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SS_INT8:
|
||||||
|
case SS_BOOLEAN:
|
||||||
|
{
|
||||||
|
prop.val_ptr.b = &((int8_t *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_INT8;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SS_INT16:
|
||||||
|
{
|
||||||
|
prop.val_ptr.h = &((int16_t *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_INT16;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SS_INT32:
|
||||||
|
{
|
||||||
|
prop.val_ptr.i = &((int32_t *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_INT32;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SS_UINT8:
|
||||||
|
{
|
||||||
|
prop.val_ptr.B = &((uint8_t *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_UINT8;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SS_UINT16:
|
||||||
|
{
|
||||||
|
prop.val_ptr.H = &((uint16_t *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_UINT16;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SS_UINT32:
|
||||||
|
{
|
||||||
|
prop.val_ptr.I = &((uint32_t *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_UINT32;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
prop.val_ptr.s = &((float *)da[idx])[j];
|
||||||
|
prop.typ = PARAM_TYPE_REAL32;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
strncpy(prop.name, name, 16);
|
||||||
|
if (j > 0)
|
||||||
|
{
|
||||||
|
sprintf(idx_buff, "(%d)", j);
|
||||||
|
s2 = strlen(idx_buff);
|
||||||
|
s1 = strlen(prop.name);
|
||||||
|
if (s1+s2 >= 16)
|
||||||
|
{
|
||||||
|
for (k=0;k<s2;++k)
|
||||||
|
{
|
||||||
|
prop.name[16-s2+k] = idx_buff[k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (k=0;k<s2;++k)
|
||||||
|
{
|
||||||
|
prop.name[s1+k] = idx_buff[k];
|
||||||
|
}
|
||||||
|
prop.name[s1+k] = '\0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (prop.typ != PARAM_TYPE_REAL64)
|
||||||
|
param_mgr_regist(&prop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
/* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Start function
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void find_param_val_Start_wrapper(void)
|
||||||
|
{
|
||||||
|
/* %%%-SFUNWIZ_wrapper_Start_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
|
#ifdef WITH_CAPI
|
||||||
|
scan_params();
|
||||||
|
#endif
|
||||||
|
/* %%%-SFUNWIZ_wrapper_Start_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Output function
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void find_param_val_Outputs_wrapper(const uint16_T *idx,
|
||||||
|
uint8_T *name,
|
||||||
|
uint8_T *value,
|
||||||
|
uint8_T *type,
|
||||||
|
uint16_T *count,
|
||||||
|
uint16_T *index)
|
||||||
|
{
|
||||||
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
|
#ifdef WITH_CAPI
|
||||||
|
count[0] = param_get_count();
|
||||||
|
index[0] = idx[0];
|
||||||
|
param_prop * p = param_get_by_idx(idx[0]);
|
||||||
|
if (p)
|
||||||
|
{
|
||||||
|
strncpy(name, p->name, 16);
|
||||||
|
type[0] = p->typ;
|
||||||
|
param_get_value(p, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strcpy((char *)name, "outrange");
|
||||||
|
float val = 0.0;
|
||||||
|
memcpy(value, &val, 4);
|
||||||
|
type[0] = 9u;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
strcpy((char *)name, "unkown");
|
||||||
|
float val = 0.0;
|
||||||
|
memcpy(value, &val, 4);
|
||||||
|
type[0] = 9u;
|
||||||
|
count[0] = 1;
|
||||||
|
index[0] = 0u;
|
||||||
|
#endif
|
||||||
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* 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_pre.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 */
|
||||||
|
static void pack(uint8_T *pkg, uint16_T *len, const int_T y_width, uint8_T *ts, uint8_T *src, uint16_T length)
|
||||||
|
{
|
||||||
|
uint8_T sum;
|
||||||
|
int16_T i,j;
|
||||||
|
sum = 0;
|
||||||
|
for (i = 0; i < 4; ++i)
|
||||||
|
{
|
||||||
|
pkg[i] = ts[i];
|
||||||
|
sum += ts[i];
|
||||||
|
}
|
||||||
|
if (length > y_width - 5)
|
||||||
|
{
|
||||||
|
length = y_width - 5;
|
||||||
|
}
|
||||||
|
for (i = 0, j = 4; i < length; ++i,++j)
|
||||||
|
{
|
||||||
|
pkg[j] = src[i];
|
||||||
|
sum += src[i];
|
||||||
|
}
|
||||||
|
pkg[j] = sum;
|
||||||
|
len[0] = length+4;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Output function
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void hal_rec_Outputs_wrapper(const uint8_T *id,
|
||||||
|
const uint32_T *time_stamp,
|
||||||
|
uint8_T *pkg,
|
||||||
|
uint16_T *len,
|
||||||
|
const int_T y_width)
|
||||||
|
{
|
||||||
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
|
switch (id[0])
|
||||||
|
{
|
||||||
|
#ifdef HAL_IMPL
|
||||||
|
case 1:
|
||||||
|
pack(pkg, len, y_width, (uint8_T *)time_stamp, (uint8_T *)&rec_hi, sizeof(rec_hi));
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
pack(pkg, len, y_width, (uint8_T *)time_stamp, 0UL, 0u);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
+11
@@ -16,6 +16,8 @@
|
|||||||
#ifdef HAL_IMPL
|
#ifdef HAL_IMPL
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
extern char cmd[70];
|
||||||
|
extern uint8_t cmd_len;
|
||||||
#endif
|
#endif
|
||||||
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
|
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
#define u_width 70
|
#define u_width 70
|
||||||
@@ -40,6 +42,15 @@ void hal_serial_cmdline_Outputs_wrapper(const uint8_T *data,
|
|||||||
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
ErrorCode[0] = 0;
|
ErrorCode[0] = 0;
|
||||||
#ifdef HAL_IMPL
|
#ifdef HAL_IMPL
|
||||||
|
if (cmd_len == 0)
|
||||||
|
{
|
||||||
|
cmd_len = len[0]-1;
|
||||||
|
if (cmd_len > sizeof(cmd)-1)
|
||||||
|
{
|
||||||
|
cmd_len = sizeof(cmd)-1;
|
||||||
|
}
|
||||||
|
memcpy(cmd, data, cmd_len);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
}
|
}
|
||||||
+12
@@ -16,6 +16,8 @@
|
|||||||
#ifdef HAL_IMPL
|
#ifdef HAL_IMPL
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
extern char echo[70];
|
||||||
|
extern uint8_t echo_len;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
|
/* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
@@ -38,6 +40,16 @@ void hal_serial_echoline_Outputs_wrapper(uint8_T *data,
|
|||||||
{
|
{
|
||||||
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
#ifdef HAL_IMPL
|
#ifdef HAL_IMPL
|
||||||
|
if (echo_len)
|
||||||
|
{
|
||||||
|
if (echo_len > 70)
|
||||||
|
echo_len = 70;
|
||||||
|
memcpy(data, echo, echo_len);
|
||||||
|
memset(data+echo_len, 0, 70-echo_len);
|
||||||
|
len[0] = echo_len;
|
||||||
|
echo_len = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
len[0] = 0;
|
len[0] = 0;
|
||||||
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
+9
-7
@@ -24,21 +24,23 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
/* %%%-SFUNWIZ_wrapper_externs_Changes_BEGIN --- EDIT HERE TO _END */
|
/* %%%-SFUNWIZ_wrapper_externs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
|
#ifdef MAVLINK_USE_MESSAGE_INFO
|
||||||
|
mavlink_status_t m_mavlink_status[MAVLINK_COMM_NUM_BUFFERS];
|
||||||
|
#endif
|
||||||
/* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */
|
/* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Output function
|
* Output function
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void mav_encap_data_encode_Outputs_wrapper(const mavlink_encapsulated_data_t *obj,
|
void mav_parser_Outputs_wrapper(const uint8_T *chr,
|
||||||
const uint8_T *sys_id,
|
boolean_T *retcode,
|
||||||
const uint8_T *comp_id,
|
mavlink_message_t *message,
|
||||||
const uint8_T *channel,
|
mavlink_status_t *status,
|
||||||
mavlink_message_t *msg)
|
const uint8_T *ch, const int_T p_width0)
|
||||||
{
|
{
|
||||||
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */
|
||||||
mavlink_msg_encapsulated_data_encode_chan(sys_id[0], comp_id[0], channel[0], msg, obj);
|
retcode[0] = mavlink_parse_char(ch[0],chr[0],message,status);
|
||||||
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
/* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */
|
||||||
}
|
}
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user