Programming A Rc Car Through Arduino Using Matlab & Simulink

Posted Under: Computer Science

Ask A Question
DESCRIPTION
Posted
Modified
Viewed 22
There are 2 parts to the proposal. For extensive and comprehensive detail please see attached document titled 'Project Proposal'. We require a RC car to be programmed. The hardware is in Germany but we can give access to the robot 24/7 for testing. The first part must be complete by Monday and the second part i.e. the write-up, can come afterwards.
Attachments
Simulink-Dateien/Student_Version_v2.zip Student_Version_v2/RC_CAR_control_STUDENT_v1.bin Student_Version_v2/RC_CAR_control_STUDENT_v1.elf Student_Version_v2/RC_CAR_control_STUDENT_v1.slxc R2022a/win64/coderslproj/coderslproj_ert_R2022a_win64/sl_proj.tmw Simulink Coder project marker file. Please don't change it. slprjVersion: 10.5_091 R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/buildInfo.mat templateMakefile:[0x0 char array] @:[1x169528 uint8 array] R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/codedescriptor.dmr R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/extmode_task_info.m function [taskInfo, numtask, isDeploymentDiagram]=extmode_task_info() isDeploymentDiagram = 0; taskInfo(1).samplePeriod = 0.01; taskInfo(1).sampleOffset = 0.0; taskInfo(1).taskPrio = 40; taskInfo(1).taskName = 'BaseRate'; taskInfo(1).entryPoints = {}; taskInfo(1).nonFcnCallPartitionName = 'D1'; numtask = 1; for i = 1:numtask if ( 0 == isnumeric(taskInfo(i).samplePeriod) ) taskInfo(i).samplePeriod = evalin('base', 'str2double(taskInfo(i).samplePeriod)'); end if ( isempty(taskInfo(i).taskName) ) taskInfo(i).taskName = ['AutoGen' i ]; end end end R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/RC_CAR_control_STUDENT_v1.mk ########################################################################### ## Makefile generated for component 'RC_CAR_control_STUDENT_v1'. ## ## Makefile : RC_CAR_control_STUDENT_v1.mk ## Generated on : Thu Jun 02 17:27:24 2022 ## Final product: $(RELATIVE_PATH_TO_ANCHOR)/RC_CAR_control_STUDENT_v1.elf ## Product type : executable ## ########################################################################### ########################################################################### ## MACROS ########################################################################### # Macro Descriptions: # PRODUCT_NAME Name of the system to build # MAKEFILE Name of this makefile PRODUCT_NAME = RC_CAR_control_STUDENT_v1 MAKEFILE = RC_CAR_control_STUDENT_v1.mk MATLAB_ROOT = C:/PROGRA~1/MATLAB/R2022a MATLAB_BIN = C:/PROGRA~1/MATLAB/R2022a/bin MATLAB_ARCH_BIN = $(MATLAB_BIN)/win64 START_DIR = S:/MATLAB_TEMP SOLVER = SOLVER_OBJ = CLASSIC_INTERFACE = 0 TGT_FCN_LIB = None MODEL_HAS_DYNAMICALLY_LOADED_SFCNS = 0 RELATIVE_PATH_TO_ANCHOR = .. SLIB_PATH = C:/Users/chris/DOCUME~1/MATLAB/R2022a/ARDUIN~1/ARDUIN~1/FASTER~1 C_STANDARD_OPTS = CPP_STANDARD_OPTS = ########################################################################### ## TOOLCHAIN SPECIFICATIONS ########################################################################### # Toolchain Name: Arduino ARM # Supported Version(s): # ToolchainInfo Version: 2022a # Specification Revision: 1.0 # #------------------------------------------- # Macros assumed to be defined elsewhere #------------------------------------------- # ARDUINO_ROOT # ARDUINO_PACKAGES_TOOLS_ROOT # ARDUINO_PORT # ARDUINO_MCU # ARDUINO_BAUD # ARDUINO_PROTOCOL # ARDUINO_F_CPU #----------- # MACROS #----------- SHELL = %SystemRoot%/system32/cmd.exe PRODUCT_HEX = $(RELATIVE_PATH_TO_ANCHOR)/$(PRODUCT_NAME).hex PRODUCT_BIN = $(RELATIVE_PATH_TO_ANCHOR)/$(PRODUCT_NAME).bin ARDUINO_TOOLS = $(ARDUINO_PACKAGES_TOOLS_ROOT)/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin TOOLCHAIN_SRCS = TOOLCHAIN_INCS = TOOLCHAIN_LIBS = -Wl,--end-group -lm -gcc -lcore #------------------------ # BUILD TOOL COMMANDS #------------------------ # Assembler: Arduino ARM Assembler AS_PATH = $(ARDUINO_TOOLS) AS = "$(AS_PATH)/arm-none-eabi-gcc" # C Compiler: Arduino ARM C Compiler CC_PATH = $(ARDUINO_TOOLS) CC = "$(CC_PATH)/arm-none-eabi-gcc" # Linker: Arduino ARM Linker LD_PATH = $(ARDUINO_TOOLS) LD = "$(LD_PATH)/arm-none-eabi-gcc" # C++ Compiler: Arduino ARM C++ Compiler CPP_PATH = $(ARDUINO_TOOLS) CPP = "$(CPP_PATH)/arm-none-eabi-g++" # C++ Linker: Arduino ARM C++ Linker CPP_LD_PATH = $(ARDUINO_TOOLS) CPP_LD = "$(CPP_LD_PATH)/arm-none-eabi-gcc" # Archiver: Arduino ARM Archiver AR_PATH = $(ARDUINO_TOOLS) AR = "$(AR_PATH)/arm-none-eabi-ar" # MEX Tool: MEX Tool MEX_PATH = $(MATLAB_ARCH_BIN) MEX = "$(MEX_PATH)/mex" # Binary Converter: Binary Converter OBJCOPY_PATH = $(ARDUINO_PACKAGES_TOOLS_ROOT)/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin OBJCOPY = "$(OBJCOPY_PATH)/arm-none-eabi-objcopy" # Download: Download DOWNLOAD = # Execute: Execute EXECUTE = $(PRODUCT) # Builder: Make Tool MAKE_PATH = %MATLAB%\bin\win64 MAKE = "$(MAKE_PATH)/gmake" #------------------------- # Directives/Utilities #------------------------- ASDEBUG = -g AS_OUTPUT_FLAG = -o CDEBUG = -g C_OUTPUT_FLAG = -o LDDEBUG = -g OUTPUT_FLAG = -o CPPDEBUG = -g CPP_OUTPUT_FLAG = -o CPPLDDEBUG = -g OUTPUT_FLAG = -o ARDEBUG = STATICLIB_OUTPUT_FLAG = MEX_DEBUG = -g RM = ECHO = echo MV = RUN = #---------------------------------------- # "Faster Builds" Build Configuration #---------------------------------------- MEX_CPPFLAGS = MEX_CPPLDFLAGS = MEX_CFLAGS = MEX_LDFLAGS = #--------------------------- # Model-Specific Options #--------------------------- ASFLAGS = -MMD -MP -MF"$(@:%.o=%.dep)" -MT"$@" -Wall -x assembler-with-cpp $(ASFLAGS_ADDITIONAL) $(DEFINES) $(INCLUDES) -c CFLAGS = -std=gnu11 -Os -c -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -DARDUINO=10801 -MMD -MP -MF"$(@:%.o=%.dep)" -MT"$@" -g LDFLAGS = -Os -Wl,-Map="$(PRODUCT_NAME).map" -Wl,--gc-sections -g SHAREDLIB_LDFLAGS = -g CPPFLAGS = -std=gnu++11 -fno-threadsafe-statics -fno-rtti -fno-exceptions -Os -c -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -DARDUINO=10801 -MMD -MP -MF"$(@:%.o=%.dep)" -MT"$@" -g CPP_LDFLAGS = -Os -Wl,-Map="$(PRODUCT_NAME).map" -Wl,--gc-sections -g CPP_SHAREDLIB_LDFLAGS = -g ARFLAGS = ruvs OBJCOPYFLAGS_BIN = -O binary $(PRODUCT) $(PRODUCT_BIN) DOWNLOAD_FLAGS = EXECUTE_FLAGS = MAKE_FLAGS = -f $(MAKEFILE) ########################################################################### ## OUTPUT INFO ########################################################################### PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/RC_CAR_control_STUDENT_v1.elf PRODUCT_TYPE = "executable" BUILD_TYPE = "Top-Level Standalone Executable" ########################################################################### ## INCLUDE PATHS ########################################################################### INCLUDES_BUILDINFO = -I$(START_DIR) -I$(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw -I$(MATLAB_ROOT)/extern/include -I$(MATLAB_ROOT)/simulink/include -I$(MATLAB_ROOT)/rtw/c/src -I$(MATLAB_ROOT)/rtw/c/src/ext_mode/common -I$(MATLAB_ROOT)/rtw/c/ert -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/include -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/common -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/include -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/include -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/include -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/include -I$(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src -I$(MATLAB_ROOT)/rtw/c/ext_mode/common -I$(MATLAB_ROOT)/toolbox/coder/rtiostream/src -I$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/system/libsam -I$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/system/CMSIS/CMSIS/Include -I$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/system/CMSIS/Device/ATMEL -I$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/cores/arduino -I$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/cores/arduino/avr -I$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x -IC:/PROGRA~3/MATLAB/SUPPOR~1/R2022a/toolbox/target/SUPPOR~1/ARDUIN~1/include -IC:/PROGRA~3/MATLAB/SUPPOR~1/R2022a/toolbox/target/SUPPOR~1/ARDUIN~1/SCHEDU~1/include -IC:/PROGRA~3/MATLAB/SUPPOR~1/R2022a/toolbox/target/SUPPOR~1/ARDUIN~2/include -IC:/PROGRA~3/MATLAB/SUPPOR~1/R2022a/toolbox/target/shared/EXTERN~1/include -IC:/PROGRA~3/MATLAB/SUPPOR~1/R2022a/toolbox/target/SUPPOR~1/ARMCOR~1/SCHEDU~1/include -IC:/PROGRA~3/MATLAB/SUPPOR~1/R2022a/toolbox/target/SUPPOR~1/ARMCOR~1/xcp/include INCLUDES = $(INCLUDES_BUILDINFO) ########################################################################### ## DEFINES ########################################################################### DEFINES_ = -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DXCP_MAX_CTO_SIZE=255 -DXCP_MAX_DTO_SIZE=65532 -DXCP_MAX_ODT_ENTRY_SIZE=255 -DXCP_MAX_DAQ=65535 -DXCP_MIN_DAQ=0 -DXCP_MAX_EVENT_CHANNEL=128 -DXCP_ID_FIELD_TYPE=0 -DXCP_TIMESTAMP_SIZE=4 -DXCP_ADDRESS_GRANULARITY=XCP_ADDRESS_GRANULARITY_BYTE -DXCP_MEM_RESERVED_POOLS_TOTAL_SIZE=927 -DXCP_MEM_DAQ_RESERVED_POOL_BLOCKS_NUMBER=3 -DMW_TIMERID=8 -DMW_TIMERCOUNT=26250 -DMW_SAM_CLOCKID=TC_CMR_TCCLKS_TIMER_CLOCK3 -DARDUINO_NUM_SERIAL_PORTS=4 -D_RTT_BAUDRATE_SERIAL0_=115200 -D_RTT_BAUDRATE_SERIAL1_=9600 -D_RTT_BAUDRATE_SERIAL2_=9600 -D_RTT_BAUDRATE_SERIAL3_=9600 -D_RTT_ANALOG_REF_=0 -DMW_RTIO_SERIAL0 -D_RTT_OVERRUN_DIGITAL_PIN_=13 DEFINES_BUILD_ARGS = -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DEXT_MODE=1 -DONESTEPFCN=1 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 DEFINES_CUSTOM = DEFINES_OPTS = -DXCP_DAQ_SUPPORT -DXCP_CALIBRATION_SUPPORT -DXCP_TIMESTAMP_SUPPORT -DXCP_TIMESTAMP_BASED_ON_SIMULATION_TIME -DXCP_SET_MTA_SUPPORT -DXCP_MEM_DAQ_RESERVED_POOLS_NUMBER=1 -DEXTMODE_XCP_TRIGGER_SUPPORT -DEXTMODE_STATIC -DEXTMODE_STATIC_SIZE=24576 -DON_TARGET_WAIT_FOR_START=1 -DRT -DUSE_RTMODEL -DERT -DTID01EQ=0 -DXCP_MEM_BLOCK_1_SIZE=32 -DXCP_MEM_BLOCK_1_NUMBER=1 -DXCP_MEM_BLOCK_2_SIZE=48 -DXCP_MEM_BLOCK_2_NUMBER=1 -DXCP_MEM_BLOCK_3_SIZE=96 -DXCP_MEM_BLOCK_3_NUMBER=1 DEFINES_SKIPFORSIL = -DXCP_CUSTOM_PLATFORM -DEXIT_FAILURE=1 -DEXTMODE_DISABLEPRINTF -DEXTMODE_DISABLETESTING -DEXTMODE_DISABLE_ARGS_PROCESSING=1 -DSTACK_SIZE=64 DEFINES_STANDARD = -DMODEL=RC_CAR_control_STUDENT_v1 -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 DEFINES = $(DEFINES_) $(DEFINES_BUILD_ARGS) $(DEFINES_CUSTOM) $(DEFINES_OPTS) $(DEFINES_SKIPFORSIL) $(DEFINES_STANDARD) ########################################################################### ## SOURCE FILES ########################################################################### SRCS = xcp_ext_mode.c $(MATLAB_ROOT)/rtw/c/src/rt_matrx.c $(MATLAB_ROOT)/rtw/c/src/rt_printf.c $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/RC_CAR_control_STUDENT_v1.c $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/RC_CAR_control_STUDENT_v1_data.c $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/rtGetInf.c $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/rtGetNaN.c $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/rt_nonfinite.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/xcp_ext_common.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/xcp_ext_classic_trigger.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp_standard.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp_daq.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp_calibration.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/xcp_fifo.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/xcp_transport.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/xcp_mem_default.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/xcp_drv_rtiostream.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/xcp_frame_serial.c $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/xcp_ext_param_default_serial.c $(START_DIR)/SPI_Communication.cpp $(START_DIR)/SPI_Communication_wrapper.cpp C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../scheduler/src/arm_m3_cortex_handler.c C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../src/MW_ArduinoHWInit.cpp C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinobase/src/io_wrappers.cpp C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../scheduler/src/arduinoARMScheduler.cpp C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/armcortexmbase/scheduler/src/m3m4m4f_multitasking.c C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../src/rtiostream_serial_daemon.cpp C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/armcortexmbase/xcp/src/sys_arch.c MAIN_SRC = $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/ert_main.c ALL_SRCS = $(SRCS) $(MAIN_SRC) ########################################################################### ## OBJECTS ########################################################################### OBJS = xcp_ext_mode.o rt_matrx.o rt_printf.o RC_CAR_control_STUDENT_v1.o RC_CAR_control_STUDENT_v1_data.o rtGetInf.o rtGetNaN.o rt_nonfinite.o xcp_ext_common.o xcp_ext_classic_trigger.o xcp.o xcp_standard.o xcp_daq.o xcp_calibration.o xcp_fifo.o xcp_transport.o xcp_mem_default.o xcp_drv_rtiostream.o xcp_frame_serial.o xcp_ext_param_default_serial.o SPI_Communication.o SPI_Communication_wrapper.o arm_m3_cortex_handler.o MW_ArduinoHWInit.o io_wrappers.o arduinoARMScheduler.o m3m4m4f_multitasking.o rtiostream_serial_daemon.o sys_arch.o MAIN_OBJ = ert_main.o ALL_OBJS = $(OBJS) $(MAIN_OBJ) ########################################################################### ## PREBUILT OBJECT FILES ########################################################################### PREBUILT_OBJS = ########################################################################### ## LIBRARIES ########################################################################### LIBS = $(SLIB_PATH)/MW_RebuildSrc_Core.o $(SLIB_PATH)/libcore.a ########################################################################### ## SYSTEM LIBRARIES ########################################################################### SYSTEM_LIBS = ########################################################################### ## ADDITIONAL TOOLCHAIN FLAGS ########################################################################### #--------------- # C Compiler #--------------- CFLAGS_SKIPFORSIL = -MD -mcpu=cortex-m3 -fpermissive -DF_CPU=84000000L -DARDUINO_SAM_DUE -DARDUINO_ARCH_SAM -D__SAM3X8E__ -mthumb -DUSB_VID=0x2341 -DUSB_PID=0x003e -DUSBCON -DUSB_MANUFACTURER=\""Unknown\"" -DUSB_PRODUCT=\""Arduino Due\"" -D_RUNONTARGETHARDWARE_BUILD_ -D_ROTH_DUE_ -DARDUINO_NUM_SERIAL_PORTS=4 -DARDUINO_ARM -DARDUINO_ARM_CORTEX_M3 CFLAGS_BASIC = $(DEFINES) $(INCLUDES) CFLAGS += $(CFLAGS_SKIPFORSIL) $(CFLAGS_BASIC) #----------- # Linker #----------- LDFLAGS_ = -L"$(SLIB_PATH)" LDFLAGS_SKIPFORSIL = -T$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/linker_scripts/gcc/flash.ld -mcpu=cortex-m3 -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid $(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/libsam_sam3x8e_gcc_rel.a LDFLAGS += $(LDFLAGS_) $(LDFLAGS_SKIPFORSIL) #-------------------------- # Shared Library Linker #-------------------------- SHAREDLIB_LDFLAGS_ = -L"$(SLIB_PATH)" SHAREDLIB_LDFLAGS_SKIPFORSIL = -T$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/linker_scripts/gcc/flash.ld -mcpu=cortex-m3 -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid $(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/libsam_sam3x8e_gcc_rel.a SHAREDLIB_LDFLAGS += $(SHAREDLIB_LDFLAGS_) $(SHAREDLIB_LDFLAGS_SKIPFORSIL) #----------------- # C++ Compiler #----------------- CPPFLAGS_SKIPFORSIL = -MD -mcpu=cortex-m3 -fpermissive -DF_CPU=84000000L -DARDUINO_SAM_DUE -DARDUINO_ARCH_SAM -D__SAM3X8E__ -mthumb -DUSB_VID=0x2341 -DUSB_PID=0x003e -DUSBCON -DUSB_MANUFACTURER=\""Unknown\"" -DUSB_PRODUCT=\""Arduino Due\"" -D_RUNONTARGETHARDWARE_BUILD_ -D_ROTH_DUE_ -DARDUINO_NUM_SERIAL_PORTS=4 -DARDUINO_ARM -DARDUINO_ARM_CORTEX_M3 CPPFLAGS_BASIC = $(DEFINES) $(INCLUDES) CPPFLAGS += $(CPPFLAGS_SKIPFORSIL) $(CPPFLAGS_BASIC) #--------------- # C++ Linker #--------------- CPP_LDFLAGS_ = -L"$(SLIB_PATH)" CPP_LDFLAGS_SKIPFORSIL = -T$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/linker_scripts/gcc/flash.ld -mcpu=cortex-m3 -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid $(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/libsam_sam3x8e_gcc_rel.a CPP_LDFLAGS += $(CPP_LDFLAGS_) $(CPP_LDFLAGS_SKIPFORSIL) #------------------------------ # C++ Shared Library Linker #------------------------------ CPP_SHAREDLIB_LDFLAGS_ = -L"$(SLIB_PATH)" CPP_SHAREDLIB_LDFLAGS_SKIPFORSIL = -T$(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/linker_scripts/gcc/flash.ld -mcpu=cortex-m3 -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid $(ARDUINO_SAM_ROOT)/hardware/sam/$(SAM_LIB_VERSION)/variants/arduino_due_x/libsam_sam3x8e_gcc_rel.a CPP_SHAREDLIB_LDFLAGS += $(CPP_SHAREDLIB_LDFLAGS_) $(CPP_SHAREDLIB_LDFLAGS_SKIPFORSIL) ########################################################################### ## INLINED COMMANDS ########################################################################### DERIVED_SRCS = $(subst .o,.dep,$(OBJS)) build: %.dep: -include codertarget_assembly_flags.mk -include *.dep ########################################################################### ## PHONY TARGETS ########################################################################### .PHONY : all build buildobj clean info prebuild postbuild download execute all : build postbuild echo "### Successfully generated all binary outputs." build : prebuild $(PRODUCT) buildobj : prebuild $(OBJS) $(PREBUILT_OBJS) $(LIBS) echo "### Successfully generated all binary outputs." prebuild : postbuild : $(PRODUCT) echo "### Invoking postbuild tool "Binary Converter" ..." $(OBJCOPY) $(OBJCOPYFLAGS_BIN) echo "### Done invoking postbuild tool." download : postbuild execute : download echo "### Invoking postbuild tool "Execute" ..." $(EXECUTE) $(EXECUTE_FLAGS) echo "### Done invoking postbuild tool." ########################################################################### ## FINAL TARGET ########################################################################### #------------------------------------------- # Create a standalone executable #------------------------------------------- $(PRODUCT) : $(OBJS) $(PREBUILT_OBJS) $(LIBS) $(MAIN_OBJ) echo "### Creating standalone executable "$(PRODUCT)" ..." $(CPP_LD) $(CPP_LDFLAGS) -o $(PRODUCT) $(OBJS) $(MAIN_OBJ) $(LIBS) $(SYSTEM_LIBS) $(TOOLCHAIN_LIBS) echo "### Created: $(PRODUCT)" ########################################################################### ## INTERMEDIATE TARGETS ########################################################################### #--------------------- # SOURCE-TO-OBJECT #--------------------- %.o : %.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : %.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : %.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : %.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : %.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : %.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : %.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(RELATIVE_PATH_TO_ANCHOR)/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(RELATIVE_PATH_TO_ANCHOR)/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(RELATIVE_PATH_TO_ANCHOR)/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(RELATIVE_PATH_TO_ANCHOR)/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(RELATIVE_PATH_TO_ANCHOR)/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(RELATIVE_PATH_TO_ANCHOR)/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(RELATIVE_PATH_TO_ANCHOR)/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(START_DIR)/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(START_DIR)/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(START_DIR)/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/rtw/c/src/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/rtw/c/src/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/rtw/c/src/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/rtw/c/src/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/rtw/c/src/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/rtw/c/src/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/rtw/c/src/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/simulink/src/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/simulink/src/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/simulink/src/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/simulink/src/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/simulink/src/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/simulink/src/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/simulink/src/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.c $(CC) $(CFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.s $(AS) $(ASFLAGS) -o "$@" "$<" %.S.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.S $(AS) $(ASFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.cc $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.C $(CPP) $(CPPFLAGS) -o "$@" "$<" %.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/%.cxx $(CPP) $(CPPFLAGS) -o "$@" "$<" rt_matrx.o : $(MATLAB_ROOT)/rtw/c/src/rt_matrx.c $(CC) $(CFLAGS) -o "$@" "$<" rt_printf.o : $(MATLAB_ROOT)/rtw/c/src/rt_printf.c $(CC) $(CFLAGS) -o "$@" "$<" RC_CAR_control_STUDENT_v1.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/RC_CAR_control_STUDENT_v1.c $(CC) $(CFLAGS) -o "$@" "$<" RC_CAR_control_STUDENT_v1_data.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/RC_CAR_control_STUDENT_v1_data.c $(CC) $(CFLAGS) -o "$@" "$<" ert_main.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/ert_main.c $(CC) $(CFLAGS) -o "$@" "$<" rtGetInf.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/rtGetInf.c $(CC) $(CFLAGS) -o "$@" "$<" rtGetNaN.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/rtGetNaN.c $(CC) $(CFLAGS) -o "$@" "$<" rt_nonfinite.o : $(START_DIR)/RC_CAR_control_STUDENT_v1_ert_rtw/rt_nonfinite.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_ext_common.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/xcp_ext_common.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_ext_classic_trigger.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/xcp_ext_classic_trigger.c $(CC) $(CFLAGS) -o "$@" "$<" xcp.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_standard.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp_standard.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_daq.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp_daq.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_calibration.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/protocol/src/xcp_calibration.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_fifo.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/xcp_fifo.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_transport.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/xcp_transport.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_mem_default.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/xcp_mem_default.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_drv_rtiostream.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/platform/default/xcp_drv_rtiostream.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_frame_serial.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/slave/transport/src/xcp_frame_serial.c $(CC) $(CFLAGS) -o "$@" "$<" xcp_ext_param_default_serial.o : $(MATLAB_ROOT)/toolbox/coder/xcp/src/target/ext_mode/src/xcp_ext_param_default_serial.c $(CC) $(CFLAGS) -o "$@" "$<" SPI_Communication.o : $(START_DIR)/SPI_Communication.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" SPI_Communication_wrapper.o : $(START_DIR)/SPI_Communication_wrapper.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" arm_m3_cortex_handler.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../scheduler/src/arm_m3_cortex_handler.c $(CC) $(CFLAGS) -o "$@" "$<" MW_ArduinoHWInit.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../src/MW_ArduinoHWInit.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" io_wrappers.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinobase/src/io_wrappers.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" arduinoARMScheduler.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../scheduler/src/arduinoARMScheduler.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" m3m4m4f_multitasking.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/armcortexmbase/scheduler/src/m3m4m4f_multitasking.c $(CC) $(CFLAGS) -o "$@" "$<" rtiostream_serial_daemon.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/arduinotarget/registry/../src/rtiostream_serial_daemon.cpp $(CPP) $(CPPFLAGS) -o "$@" "$<" sys_arch.o : C:/ProgramData/MATLAB/SupportPackages/R2022a/toolbox/target/supportpackages/armcortexmbase/xcp/src/sys_arch.c $(CC) $(CFLAGS) -o "$@" "$<" ########################################################################### ## DEPENDENCIES ########################################################################### $(ALL_OBJS) : rtw_proj.tmw $(MAKEFILE) ########################################################################### ## MISCELLANEOUS TARGETS ########################################################################### info : echo "### PRODUCT = $(PRODUCT)" echo "### PRODUCT_TYPE = $(PRODUCT_TYPE)" echo "### BUILD_TYPE = $(BUILD_TYPE)" echo "### INCLUDES = $(INCLUDES)" echo "### DEFINES = $(DEFINES)" echo "### ALL_SRCS = $(ALL_SRCS)" echo "### ALL_OBJS = $(ALL_OBJS)" echo "### LIBS = $(LIBS)" echo "### MODELREF_LIBS = $(MODELREF_LIBS)" echo "### SYSTEM_LIBS = $(SYSTEM_LIBS)" echo "### TOOLCHAIN_LIBS = $(TOOLCHAIN_LIBS)" echo "### ASFLAGS = $(ASFLAGS)" echo "### CFLAGS = $(CFLAGS)" echo "### LDFLAGS = $(LDFLAGS)" echo "### SHAREDLIB_LDFLAGS = $(SHAREDLIB_LDFLAGS)" echo "### CPPFLAGS = $(CPPFLAGS)" echo "### CPP_LDFLAGS = $(CPP_LDFLAGS)" echo "### CPP_SHAREDLIB_LDFLAGS = $(CPP_SHAREDLIB_LDFLAGS)" echo "### ARFLAGS = $(ARFLAGS)" echo "### MEX_CFLAGS = $(MEX_CFLAGS)" echo "### MEX_CPPFLAGS = $(MEX_CPPFLAGS)" echo "### MEX_LDFLAGS = $(MEX_LDFLAGS)" echo "### MEX_CPPLDFLAGS = $(MEX_CPPLDFLAGS)" echo "### OBJCOPYFLAGS_BIN = $(OBJCOPYFLAGS_BIN)" echo "### DOWNLOAD_FLAGS = $(DOWNLOAD_FLAGS)" echo "### EXECUTE_FLAGS = $(EXECUTE_FLAGS)" echo "### MAKE_FLAGS = $(MAKE_FLAGS)" clean : $(ECHO) "### Deleting all derived files..." $(RM) $(PRODUCT) $(RM) $(ALL_OBJS) $(RM) *.dep $(ECHO) "### Deleted all derived files." R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/rtw_proj.tmw Simulink Coder project for RC_CAR_control_STUDENT_v1 using . MATLAB root = C:\Program Files\MATLAB\R2022a. SimStruct date: 13-Nov-2021 07:40:36 This file is generated by Simulink Coder for use by the make utility to determine when to rebuild objects when the name of the current Simulink Coder project changes. The rtwinfomat located at: ..\slprj\ert\RC_CAR_control_STUDENT_v1\tmwinternal\binfo.mat R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/tmwinternal/simulink_cache.xml IotfKiCYoZ9Ms78kPMML2wHvHF1VMTsNsLUcnKz9fDnM8G5DfI1k2lYQQCIiTlwhgmW4FKLzx5fInLsqdqwbXw== R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/tmwinternal/tr.packagedMdlMisc R2022a/win64/coderTop/coderTopRef_ert_R2022a_win64/slprj/ert/RC_CAR_control_STUDENT_v1/tmwinternal/binfo.mat R2022a/win64/coderTop/coderTopRef_ert_R2022a_win64/slprj/ert/RC_CAR_control_STUDENT_v1/tmwinternal/CompileInfo.xml RC_CAR_control_STUDENT_v1 RC_CAR_control_STUDENT_v1 AAFJTQAAAAAOAAAAOAAAAAYAAAAIAAAAAgAAAAAAAAAFAAAACAAAAAAAAAABAAAAAQAAAAAAAAAFAAQAAQAAAAEAAAAAAAAA {"Inports":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","Outports":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","ParameterArguments":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","LocalParameters":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","GlobalParameters":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","InternalData":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","SharedLocalDataStores":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","GlobalDataStores":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","Constants":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","DataTransfers":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","ModelData":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","InitializeTerminate":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","Execution":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}","SharedUtility":"{\"Name\":\"Default\",\"Checksum\":\"Default\",\"PerInstancePropertiesChecksum\":\"\",\"MemorySectionName\":\"None\",\"MemorySectionChecksum\":\"None\"}"} .01 true true true true false 2 -1.0 1 0 1 1 true true D1 .01 40 0 2 323 <?xml version="1.0"?> <slexec_sto version="1.1" packageUris="http://schema.mathworks.com/mf0/slexec_mm_sto/R2022a_202107291127"> <sto.Registry type="sto.Registry" uuid="fb2d3452-81cd-4701-a22f-c3691653b914"> <clocks type="sto.Timer" uuid="bfb8de5c-3bfc-4b6f-953d-3cc33e4cb5b9"> <computedFundamentalDiscretePeriod>.01</computedFundamentalDiscretePeriod> <resolution>.01</resolution> <clockTickConstraint>PeriodicWithFixedResolution</clockTickConstraint> <rates type="sto.ClassicPeriodicDiscreteRate" uuid="3ad95f47-5337-4337-96c0-cbd13abda294"> <annotation>D1</annotation> <colorIndex>2</colorIndex> <description>Discrete 1</description> <taskId>_task0</taskId> <rateSpec type="sto.RateSpec" uuid="e23d5437-bcbb-4417-a6fc-8bb99969a29f"> <period>.01</period> <rateType>ClassicPeriodicDiscrete</rateType> </rateSpec> </rates> <taskingMode>ClassicMultiTasking</taskingMode> <timeAdvanceMode>FixedStep</timeAdvanceMode> <baseRate type="sto.ClassicPeriodicDiscreteRate" uuid="59342703-42f0-45af-ab0b-2697a6216450"> <annotation>D1</annotation> <colorIndex>2</colorIndex> <description>Discrete 1</description> <taskId>_task0</taskId> <rateSpec type="sto.RateSpec" uuid="633304c4-0097-4314-9047-6ab2d0ddd367"> <period>.01</period> <rateType>ClassicPeriodicDiscrete</rateType> </rateSpec> </baseRate> </clocks> <clocks type="sto.Event" uuid="f5add1f8-cffd-49af-8882-471de127d49f"> <eventType>PARAMETER_CHANGE_EVENT</eventType> <cNum>1</cNum> <clockType>Event</clockType> <identifier>ParameterChangeEvent</identifier> <rates type="sto.ModelWideEventRate" uuid="bb330cc5-6f5e-4ec8-81ac-3072cc6882ef"> <clockId>ParameterChangeEvent</clockId> <rateIdx>-1</rateIdx> <taskId>ModelWideParameterChangeEvent</taskId> <useForExecution>NotForExecution</useForExecution> <rateSpec type="sto.RateSpec" uuid="9455197c-e822-4e7b-ab59-80d0a7783eba"> <period>Inf</period> <rateType>ModelWideParameterChangeEvent</rateType> </rateSpec> </rates> <taskingMode>ExplicitTasking</taskingMode> <timeAdvanceMode>None</timeAdvanceMode> </clocks> <executionSpec>Undetermined</executionSpec> <taskingMode>ClassicMultiTasking</taskingMode> <timeAdvanceMode>FixedStep</timeAdvanceMode> <taskRegistry type="sto.TaskRegistry" uuid="51333c36-2057-4755-ae61-190528959e40"> <rootTaskHierarchyElements type="sto.Task" uuid="ff1ffce5-fd8f-41ec-8f49-468893e48c1b"> <isExplicit>true</isExplicit> <rates type="sto.ModelWideEventRate" uuid="8d54b350-fdcc-4686-83dd-fe1f02c291c8"> <clockId>ParameterChangeEvent</clockId> <rateIdx>-1</rateIdx> <taskId>ModelWideParameterChangeEvent</taskId> <useForExecution>NotForExecution</useForExecution> <rateSpec type="sto.RateSpec" uuid="dc185ee1-d08d-4c5c-992e-59a8de035b1f"> <period>Inf</period> <rateType>ModelWideParameterChangeEvent</rateType> </rateSpec> </rates> <elementType>Task</elementType> <identifier>ModelWideParameterChangeEvent</identifier> <priority>-1</priority> <schedulingClockId>ParameterChangeEvent</schedulingClockId> </rootTaskHierarchyElements> <rootTaskHierarchyElements type="sto.Task" uuid="6a545eb0-8a82-4211-a879-fcf675d64926"> <isExecutable>true</isExecutable> <orderIndex>1</orderIndex> <rates type="sto.ClassicPeriodicDiscreteRate" uuid="906b9035-b1b4-4202-ab85-16502175e10e"> <annotation>D1</annotation> <colorIndex>2</colorIndex> <description>Discrete 1</description> <taskId>_task0</taskId> <rateSpec type="sto.RateSpec" uuid="6c46e907-4b5f-4c1b-942e-eafe8e3ed5fb"> <period>.01</period> <rateType>ClassicPeriodicDiscrete</rateType> </rateSpec> </rates> <elementType>Task</elementType> <identifier>_task0</identifier> <priority>40</priority> </rootTaskHierarchyElements> <taskDependencyGraph type="sto.SerializedTaskConnectionList" uuid="d7366724-5d9a-4078-86a9-1cf71f740178"> <taskIdentifier>_task0</taskIdentifier> </taskDependencyGraph> <taskDependencyGraph type="sto.SerializedTaskConnectionList" uuid="a4d7fbd5-ac58-4b1c-b2c4-2c81d893fe82"> <clockIdentifier>ParameterChangeEvent</clockIdentifier> <taskIdentifier>ModelWideParameterChangeEvent</taskIdentifier> </taskDependencyGraph> </taskRegistry> </sto.Registry> </slexec_sto> true .01 2 true 2 1 FixedStepDiscrete SOLVER_TYPE_FIXEDSTEP 8 64 32 32 32 64 32 32 16 32 1 1 3 true 32 true true true true RC_CAR_control_STUDENT_v1 ROOT sltpEvents sltpTaskGroups D1 _task0 sltpTasks R2022a/win64/coderTop/coderTopRef_ert_R2022a_win64/slprj/ert/RC_CAR_control_STUDENT_v1/tmwinternal/BlockTraceInfo.mat RTWNames2SID:[99x1 struct array] [1x15 char array] [1x30 char array] [1x16 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x16 char array] [1x30 char array] [1x16 char array] [1x30 char array] [1x16 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x17 char array] [1x30 char array] [1x18 char array] [1x30 char array] [1x16 char array] [1x30 char array] [1x28 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x13 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x23 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x8 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x26 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x27 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x9 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x27 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x11 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x10 char array] [1x30 char array] [1x11 char array] [1x30 char array] [1x11 char array] [1x30 char array] [1x11 char array] [1x30 char array] [1x19 char array] [1x30 char array] [1x13 char array] [1x30 char array] [1x14 char array] [1x30 char array] [1x14 char array] [1x30 char array] [1x14 char array] [1x30 char array] [1x17 char array] [1x30 char array] [1x18 char array] [1x30 char array] [1x14 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] [1x15 char array] [1x30 char array] R2022a/win64/coderTop/coderTopRef_ert_R2022a_win64/slprj/ert/RC_CAR_control_STUDENT_v1/tmwinternal/minfo.mat infoStruct:[1x1 struct array] [0x0 char array] [1x25 char array] [1x32 char array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 struct array] @ = 0x0 struct array with fields: [0x0 struct array] @ = 0x0 struct array with fields: [1x1 double array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 struct array] @ = 0x0 struct array with fields: [0x0 struct array] @ = 0x0 struct array with fields: [0x0 char array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 struct array] @ = 0x0 struct array with fields: [0x0 struct array] @ = 0x0 struct array with fields: [0x0 cell array] [0x0 cell array] [1x1 uint8 (logical) array] [0x0 cell array] [0x0 cell array] [1x0 cell array] [1x0 cell array] [1x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [1x1 uint8 (logical) array] [0x0 cell array] [0x0 char array] [1x2 char array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 char array] [0x0 char array] [0x0 char array] [0x0 char array] [1x4 char array] [0x0 char array] [0x0 char array] [0x0 char array] [0x0 double array] [0x0 double array] [0x0 cell array] [0x0 double array] [0x0 char array] [0x0 char array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 cell array] [0x0 double array] [1x1 uint8 (logical) array] [0x0 cell array] [0x1 cell array] [0x1 cell array] [0x0 double array] [0x0 double array] [0x0 double array] [0x0 double array] [1x3 char array] [1x9 char array] [1x9 char array] [1x1 uint8 (logical) array] [1x7 char array] [0x0 double array] [0x0 double array] [1x1 double array] [1x1 uint8 (logical) array] [0x0 cell array] [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [0x0 cell array] [0x0 cell array] [1x1 uint8 (logical) array] [0x0 char array] [0x0 char array] [0x0 char array] [1x1 uint8 (logical) array] [1x16 char array] [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [1x1 char array] [1x1 uint8 (logical) array] [1x1 struct array] @ = compStr : [0x0 char array] TMFBased : [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [1x57 char array] [0x0 double array] [0x0 cell array] [0x0 char array] [1x1 uint8 (logical) array] [1x1 struct array] @ = mdlFileAndLibraryChecksums : [1x1 struct array] [0x0 double array] [0x0 double array] [0x0 struct array] @ = 0x0 struct array with fields: [0x0 struct array] @ = 0x0 struct array with fields: [0x0 cell array] [0x0 double array] [0x0 double array] [0x0 double array] [0x0 double array] [1x1 uint32 array] [0x0 double array] [0x0 cell array] [1x1 uint8 (logical) array] [0x0 char array] [1x1 uint8 (logical) array] [0x0 char array] [0x0 struct array] @ = 0x0 struct array with fields: [1x61 char array] [1x55 char array] [1x2 char array] [0x0 struct array] @ = 0x0 struct array with fields: [0x0 char array] [0x0 char array] [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [1x1 uint8 (logical) array] [0x0 struct array] @ = 0x0 struct array with fields: infoStructConfigSet:[0x0 double array] R2022a/win64/coderTop/coderTopSharedUtils_ert_R2022a_win64/shared_file.dmr info/masterInformation.xml win64 R2022a RC_CAR_control_STUDENT_v1 R2022a/win64/info/extraInformation.xml ert ModelSpecific CODER_TOP_ert ert lNc/EA90jLF/0k8WVMtJoJDrdsQKTnWp377FL7V3UrWFjdfm8xGCmAF+XiTQeBeQ3SS/sSMqkI6p3gXIDhDegg== CODER_TOP RC_CAR_control_STUDENT_v1 win64 R2022a 10.5_091 info/currentFolderBrowser.xml info/partSignatures.xml info/partInformation.xml /R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/tmwinternal/tr /R2022a/win64/coderTop/coderTop_ert_R2022a_win64/RC_CAR_control_STUDENT_v1_ert_rtw/tmwinternal/tr.packagedMdlMisc metadata/mwcoreProperties.xml application/vnd.mathworks.simulink.simulinkcache Simulink Cache R2022a metadata/mwcorePropertiesExtension.xml a3acf38c-dc46-40a1-a4c0-be90e907f5bd metadata/mwcorePropertiesReleaseInfo.xml 9.12.0.1927505 R2022a Update 1 Apr 06 2022 1655851947 metadata/coreProperties.xml 2022-06-02T15:14:33Z 2022-06-02T15:27:49Z R2022a [Content_Types].xml _rels/.rels Student_Version_v2/RC_CAR_control_STUDENT_v1_r2020a_.slx [Content_Types].xml _rels/.rels simulink/_rels/blockdiagram.xml.rels simulink/_rels/configSetInfo.xml.rels simulink/systems/_rels/system_1218.xml.rels simulink/systems/_rels/system_root.xml.rels metadata/coreProperties.xml model 2017-06-08T14:33:07Z c.baier-welt chris 2022-06-07T12:19:37Z 5.1 R2020a metadata/mwcoreProperties.xml application/vnd.mathworks.simulink.model Simulink Model R2020a metadata/mwcorePropertiesExtension.xml 84a763be-4c2c-45a7-91ae-0b94d8c0765a metadata/thumbnail.png simulink/ScheduleCore.xml Integrator_Reset DataStoreMemory Speed DataStoreMemory SpikeFilter_RESET DataStoreMemory Torque DataStoreMemory 1 true false Default -2147483648 false 2 D1 40 D1 -436207361 true .01 0 simulink/ScheduleEditor.xml 0,0 0,0,0,0 D1 implicit-periodic 0,0 D1 graph.Graph Default graph.Graph Integrator_Reset DataStoreMemory Speed DataStoreMemory SpikeFilter_RESET DataStoreMemory Torque DataStoreMemory 40 #e60000 true 0.01 D1 D1 implicit-periodic HighNumberFirst D1 HighNumberFirst Default simulink/bddefaults.xml landscape auto usletter inches [0.500000, 0.500000, 0.500000, 0.500000] 1 off off white 100 off off black white off bottom Helvetica 10 normal normal on on 0 off center middle black white off Helvetica 10 normal normal model off note_annotation off off off Helvetica 9 normal normal 0 on 1 on Sample based [] [] Inherit: Inherit from 'Constant value' off inf inf off [] [] Inherit: Inherit via back propagation off Real World Value (RWV) Zero on -1 short 10 off off -1 1 Element-wise(K.*u) [] [] Inherit: Inherit via internal rule [] [] Inherit: Inherit via internal rule off Floor off -1 1 Port number off [] [] Inherit: auto off off inherit -1 Inherit -1 auto auto off off on 1 Port number [] [] Inherit: auto off off inherit -1 Inherit -1 auto auto off Dialog held [] off off 0 on system '' [] auto 0.5 -0.5 on on -1 [] [] Inherit: Same as input off Floor FromPortIcon ReadWrite All off off Sample time -1 Auto Auto Auto void_void off off Inherit from model Inherit from model Inherit from model Inherit from model Inherit from model off UseLocalSettings AllNumericTypes UseLocalSettings off off NONE off expression off off off on off off off 0 off off simulink/bdmxdata/WizardData_1107.mxarray simulink/blockdiagram.xml UTF-8 on Normal 0.035000 on off UseLocalSettings AllNumericTypes UseLocalSettings Overwrite Run 1 120 sampletime = 0.05 win64 on %<Auto> %<Auto> 576512376 1.%<AutoIncrement:0> off off disabled off off off off AliasTypeOnly on on off off off on off off on on on off on on on off off off off off off off on external automated topmodel normal normal normal software-in-the-loop (sil) 5 1 10 10 0 off 1 none off MATLABWorkspace accel.tlc accel_default_tmf make_rtw off $bdroot 0U $bdroot [] [] [] off on manual normal 1 any 2 auto 0 0 rising 0 off off off off off on off on on off off on Ensure deterministic transfer (maximum delay) Ensure data integrity only Ensure deterministic transfer (minimum delay) None off [] Initialize Auto Terminate Auto 2 0.01 0.0 Step Auto [] [] [] [] [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] StorageClass [] [] [] [] [] [] [] [] [] 0 Unset RC_CAR_v49_control_v5c_2022a_RC_RELEASED_c 1 simulink/codeDictionary.xml MemConst Comment /* Const memory section */ CommentForUI /* Const memory section */ DataUsage IsParameter IsConst true IsVolatile false OwnerPackage Simulink PostPragmaForUI --- PostStatement PragmaPerVar false PrePragmaForUI --- PreStatement Qualifier --- Simulink Apply the storage type qualifier "const". Simulink_MemConst MemVolatile Comment /* Volatile memory section */ CommentForUI /* Volatile memory section */ DataUsage SignalOrParameter IsConst false IsVolatile true OwnerPackage Simulink PostPragmaForUI --- PostStatement PragmaPerVar false PrePragmaForUI --- PreStatement Qualifier --- Simulink Apply the storage type qualifier "volatile". Simulink_MemVolatile MemConstVolatile Comment /* ConstVolatile memory section */ CommentForUI /* ConstVolatile memory section */ DataUsage IsParameter IsConst true IsVolatile true OwnerPackage Simulink PostPragmaForUI --- PostStatement PragmaPerVar false PrePragmaForUI --- PreStatement Qualifier --- Simulink Apply the storage type qualifiers "const" and "volatile". Simulink_MemConstVolatile CODER_DICTIONARY Constants DataTransfers GlobalDataStores GlobalParameters Inports InternalData LocalParameters ModelData Outports ParameterArguments SharedLocalDataStores [] BuiltinExportedGlobal CSCTypeAttributesClassName --- CommentSource Specify DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment /* Data with Exported storage */ DeclareCommentForUI /* Data with Exported storage */ DefineComment /* Data with Exported storage */ DefineCommentForUI /* Data with Exported storage */ DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage SimulinkBuiltin PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Exported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- SimulinkBuiltin The data item appears as a separate global variable, which the generated code defines. ExportedGlobal [] BuiltinImportedExtern CSCTypeAttributesClassName --- CommentSource Specify DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment /* Data with Imported storage */ DeclareCommentForUI /* Data with Imported storage */ DefineComment /* Data with Imported storage */ DefineCommentForUI /* Data with Imported storage */ DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage SimulinkBuiltin PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Imported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- SimulinkBuiltin The generated code treats the data item as a global variable, but the code does not define the variable. ImportedExtern [] BuiltinImportedExternPointer CSCTypeAttributesClassName --- CommentSource Specify DataAccess Pointer DataInit Auto DataUsage SignalOrParameter DeclareComment /* Data with Imported storage (pointer) */ DeclareCommentForUI /* Data with Imported storage (pointer) */ DefineComment /* Data with Imported storage (pointer) */ DefineCommentForUI /* Data with Imported storage (pointer) */ DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage SimulinkBuiltin PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Imported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- SimulinkBuiltin The generated code treats the data item as a global pointer variable, but the code does not define the variable. ImportedExternPointer {"Name":"StructName","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]} BitField BitPackBoolean true CSCTypeAttributesClassName Simulink.CSCTypeAttributes_FlatStructure CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped true IsReusable false IsTypeDef true MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Exported StorageClass_Packaging FlatStructure StructName <Instance specific> TLCFileName FlatStructure.tlc TypeComment --- TypeCommentForUI --- TypeName --- TypeTag --- TypeToken --- Simulink Generate a struct declaration that embeds Boolean data in named bit fields. Simulink_BitField [{"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"DefinitionFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"Owner","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]}] Const CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage Parameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile <Instance specific> HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection MemConst Owner <Instance specific> OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope Exported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate a constant declaration with the const type qualifier. Simulink_Const [{"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"DefinitionFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"Owner","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]}] Volatile CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile <Instance specific> HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection MemVolatile Owner <Instance specific> OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope Exported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Use volatile type qualifier in declaration. Simulink_Volatile [{"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"DefinitionFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"Owner","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]}] ConstVolatile CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage Parameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile <Instance specific> HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection MemConstVolatile Owner <Instance specific> OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope Exported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate declaration of volatile constant with the const volatile type qualifier. Simulink_ConstVolatile {"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]} Define CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Macro DataUsage Parameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Exported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate #define directive. The generated code defines the macro value. Simulink_Define {"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]} ImportedDefine CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Macro DataUsage Parameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Imported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate #define directive. Supply the macro definition in a legacy header file. Simulink_ImportedDefine [{"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"DefinitionFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"Owner","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]}] ExportToFile CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile <Instance specific> HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner <Instance specific> OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope Exported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate header (.h) file, with user-specified name, containing global variable declarations. Simulink_ExportToFile [{"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]}] ImportFromFile CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope Imported StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate directives to include predefined header files containing global variable declarations. Simulink_ImportFromFile {"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]} FileScope CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope File StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Generate a static qualifier suffix for a variable declaration so that the scope of the variable is limited to the current file. Simulink_FileScope {"Name":"PreserveDimensions","Value":false,"DisplayValue":"<Instance specific>","Type":"bool","AllowedValues":[]} Localizable CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Auto DataUsage Signal DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions <Instance specific> PreserveDimensionsInstanceSpecific true Scope Auto StorageClass_Packaging Unstructured TLCFileName Unstructured.tlc TypeComment --- TypeCommentForUI --- Simulink Try to localize the variable as much as possible, with the most granular level being local to function. Simulink_Localizable {"Name":"StructName","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]} Struct BitPackBoolean false CSCTypeAttributesClassName Simulink.CSCTypeAttributes_FlatStructure CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped true IsReusable false IsTypeDef true MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Exported StorageClass_Packaging FlatStructure StructName <Instance specific> TLCFileName FlatStructure.tlc TypeComment --- TypeCommentForUI --- TypeName --- TypeTag --- TypeToken --- Simulink Generate a struct declaration encapsulating parameter or signal object data. Simulink_Struct [{"Name":"HeaderFile","Value":"","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"GetFunction","Value":"get_$N","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]},{"Name":"SetFunction","Value":"set_$N","DisplayValue":"<Instance specific>","Type":"string","AllowedValues":[]}] GetSet AccessDataThroughMacro false CSCTypeAttributesClassName Simulink.CSCTypeAttributes_GetSet CommentSource Default DataAccess Direct DataInit Auto DataUsage SignalOrParameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- GetFunction <Instance specific> HeaderFile <Instance specific> IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simulink PreserveDimensions false PreserveDimensionsInstanceSpecific false Scope Imported SetFunction <Instance specific> StorageClass_Packaging AccessFunction TLCFileName GetSet.tlc TypeComment --- TypeCommentForUI --- Simulink Supports specialized function calls to read and write memory. Can be used with data stores. Simulink_GetSet [] CompilerFlag CSCTypeAttributesClassName --- CommentSource Default DataAccess Direct DataInit Macro DataUsage Parameter DeclareComment --- DeclareCommentForUI --- DefineComment --- DefineCommentForUI --- DefinitionFile --- HeaderFile --- IsAutosarPerInstanceMemory false IsGrouped false IsReusable false MemorySection None Owner --- OwnerPackage Simu Assembly instructions RC laboratory vehicle Summer2022 2 Overview The following picture shows the communication between MATLAB-Simulink and the vehicle. A total of 3 networked microcontrollers are involved. The Simulink model and thus the entire control and regulation run in “External Mode” on an Arduino Due. The vehicle is a pure slave system, on which no control takes place. It is set to an NOT-STOP state (engine off) if the connection is broken after 50ms. The ESP32 microcontrollers establish a WIFI direct connection. For this, both controllers must know the MAC address of the partner. A WIFI router or access data is not required for this connection. 3 General preparation Three steps are required to participate in the laboratory project: 1. Preparation of your PC’s 2. Setup of the Master System (Arduino Due & ESP32) 3. Structure of the laboratory vehicle 4. Commissioning of the master system 5. Commissioning of the complete system incl. Vehicle 6. Stabilization of the harness For the setup you need the following tools: • Hot glue gun • Side cutter for the cable ties • If necessary, a telephone pliers. 4 parts list (components) 5 Setup of the master system (Arduino Due and ESP32 on the PC) 1. Wire the microcontrollers (Arduino Due and ESP32) according to the following circuit diagram (Figure 4). IMPORTANT: Use the ESP32 board without the addition “F. ” The other ESP32 board for the vehicle with the addition “F” is also recognizable by a soldered capacitor between pin 23 and GND. 2. Stabilize the cable connections by means of cable ties to avoid accidental slipping of the connectors. IMPORTANT is the following color convention: always use the colors RED for the power supply (+) and the color BLACK for the ground (GND / -). Please use different colours for signals. 6 Conversion of the vehicle 1. Unplug the battery and charge it. The battery is charged when both LEDs of the charger show the color green. Do not charge the battery permanently! 2. Remove the original model-building receiver. To do this, the cover must be removed and the cables must be staked. 3. Wire the components motor control (“drive controller”), steering servo, ESP32-μC, ultrasonic sensors and motor position sensor according to chapter 6. 1. For this purpose, use the WAGO terminals as a distributor for joint contacts. IMPORTANT: Use the ESP32 board with the addition “F” for “vehicle. ” It is also recognizable by a soldered capacitor between pin 23 and GND. IMPORTANT here is the color convention: always use the colors RED for the 6V connection (+) and the color BLACK for the ground (GND / -). You can also use orange (instead of red) and grey (instead of black) as replacement colours if there are no red or black cables. Please use different colours for signals. Steering Servo Drive direction Consignees Speed control Motor 6.2 Schematic of the vehicle 6.2 Mounting of ultrasonic sensors Attach the ultrasonic sensors to the front bumper with hot glue in the direction of travel. The side sensors should be as wide an angle as possible to the side and can / may also be positioned vertically, by way of derogation from Figure 7. Use cable ties to ensure that the plugs remain in position. 6. 3 Mounting the gyro sensor (acceleration sensor) The gyrosensor can be positioned as desired. Recommendation: it fits well into the compartment of the previously removed recipient. 6.4 Mounting the Hall Sensor for the Motor Position Attach the hall sensor board to the chassis with 2 drops of hot glue so that the sensor element points outwards to the magnets on the motor pinion, see Figure 9. To do this, you can bend the wires of the component carefully. Do not bend back and forth unnecessarily, otherwise the wires may break. The distance should be about 3mm. Note: a final fixation with a lot of hot glue should only be done after a successful function test! 8 Commissioning of the master system First, start up the master system. 1. Connect the Arduino Due to a USB port of your PC via the programming port (see also Figure 4). 2. Unzip the zip file (“Student_version_vXXX. zip”) with the provided Arduino files in the MATLAB working directory, see Figure 10. 3. Start one of the models (“RC_CAR_control_STUDENT_vXXX_r2020a. slx” or “RC_CAR_control_STUDENT_vXXX_r2022a. slx”) using the “Monitor and Tune” button in the “Hardware” tab. If the button is not offered, you have not installed Arduino support (Chapter 7). Check if the model starts correctly. This is the case when the message “running the model on Arduino Due” appears in the status line (bottom left) after about 1-2 minutes. Troubleshooting: see Section 8. 1. Since the vehicle is not connected yet, you cannot see current sensor values. However, under “Microseconds” you should see the system time of the connected ESP32-μC running, see Figure 12. If this is not the case, the connection between the Arduino Due and the ESP32 microcontroller is faulty. 9 Entry into service of the vehicle For this step, a master system is already working on a Simulink PC; furthermore, the vehicle is already wired, although the harness has not yet been stabilized with cable ties for troubleshooting purposes. Follow these steps: 1) Check one last time that all cables on the car are connected correctly 2) Bend the vehicle with a brick or with books so that the wheels cannot touch the ground (recommended minimum distance of 1-2cm). 3) Now connect the battery to the motor control 4) Switch on the motor control at the slide switch. 5) If the vehicle base functions correctly, the following will happen: a) The engine control beeps b) the front wheels steer briefly to the right and then again to the left c) the engine control beeps a second time after approx. 2 seconds d) When you turn the wheels and thus turn the engine, the light-emitting diode of the position sensor on the motor pinion blinks. 6) Connect the Arduino Due to to the PC via the programming port and start the Simulink model “RC_CAR_control_STUDENT_v1_r202XXX. slx” in external mode (see “Master System Setting Up”). If a connection has been established with the vehicle, you may: a) Control the driving engine and the steering servo via the Const blocks (please keep the vehicle in the raised condition). The motor can only be controlled if all 3 ultrasonic sensors report a distance > 20cm. b) Read the sensor values of the vehicle. Move the vehicle carefully. The sensor values (gyro, distance 1-3 and “position”) should change accordingly. The task is contained in the file named ‘Task MESY SS22’. We have completed the assembly of the car. The Assembly steps are contained in the document titled ‘Instillation instructions Laboratory vehicle’. This document has been completed. The remaining work: (1) Program the car to complete the route outlined on Page 2 of the document titled ‘Task MESY SS22.’ · Under the section ‘Recommended Approach’, we have completed up to Step 2 · Steps 3 to 8 require completion · The hardware is in Germany. The expert will need to write the code then send the code for us to test. · If there are any changes or errors, we can provide remote access to Robot and System. · We can provide access to the Robot for configuration · We need to officially check the robot works in the laboratory. The last day this can be done is Tuesday 12th of July. · If the code can be written as soon as possible and by Monday 11th of July at the latest, then we can test and fix any errors on Monday the 11th. · We are available to test the code at any time. If the expert finishes before Monday or wants to test something, then we can be available. (2) A small report, 10 pages max detailing the steps taken · This can be completed afterwards. We don’t need this straight away. Deadline for this is Friday 15th of Jul Notes · The Simulink files that must be used for the programming RC_CAR_control_STUDENT_v1_r2020a_.slx RC_CAR_control_STUDENT_v1_r2020a.slx (The newest MATLAB version) · You can use either file depending on what version of MATLAB you are using · The files are contained in the folder titled ‘Simulink Files’. · In the Simulink Files folder, you will find a file titled MESY_GYRO_calibration_STUDENT_v1.slx · This can be used to complete step 3 from the ‘Recommended Approach’ Questions (1) Is the expert able to complete the first task of writing the code and making sure it can complete the route by Monday the 11th of July? a. Is he available on Monday to fix any errors if there are any? Task MESY SS22 Program the vehicle to be able to drive autonomously for two laps according to the sketches (see Figure 1) • In the first and second rounds, starting from of the starting position follow the contour of an “8” (entry and exit angle 30°). • At the end of the second lap, the vehicle should stop at the starting position. A successful lap is achieved if the vehicle does not show any standstill phases for more than 1 second on the course, does not cause any collisions and reaches the starting position again. Rules of the game: 1. The driving speed in the plane should be independent of the battery voltage. 2. The vehicle should also be able to overcome a small ramp (file folder with a maximum height of 5cm) on the track, even if it has been stopped before the obstacle. 3. The vehicle should be able to avoid obstacles with a length x width of up to 39x34cm on the straight sections of the track and then find the specified lane again. 4. All sensors on the vehicle may be optimized in terms of mounting, positioning and alignment to the task. 5. The steering can be optimized via the track rods. 6. The vehicle may not be influenced or corrected by people by hand or by radio during autonomous driving. 7. The vehicle is programmed on the Arduino Due development board with Simulink. The software on the ESP32 microcontrollers must not be changed. 8. You are free to choose your control and steering strategies, also with regard to the use of the sensors provided. Recommended approach: 1. Put the vehicle into service according to the assembly instructions 2. Identify your sensors with respect to their position and orientation in the Simulink model 3. Calibrate the gyrosensor with regard to its rotation rate around the vehicle’s high axis (OFFSET / zero point error) 4. Determine the speed signal from the motor position. 5. Develop a vehicle speed control for very slow speeds 6. Develop a steering strategy to avoid obstacles 7. Develop the strategy and programming for the overall course 8. Extensive tests with disturbances, especially variable obstacles and small ramps, as well as different battery charging states, to achieve the highest possible robustness.
Explanations and Answers 0

No answers posted

Post your Answer - free or at a fee

Login to your tutor account to post an answer

Posting a free answer earns you +20 points.

Login

NB: Post a homework question for free and get answers - free or paid homework help.

Get answers to: Programming A Rc Car Through Arduino Using Matlab & Simulink or similar questions only at Tutlance.

Related Questions