Commit 79a3c27b authored by Andreas Werner's avatar Andreas Werner
Browse files

Merge branch 'master' into 'master'

Update proff

See merge request !51
parents 7615bcae 1bd019f5
Pipeline #9812 passed with stages
in 3 minutes and 9 seconds
......@@ -17,3 +17,5 @@ nbproject
src/version.c
install
.frama-c
.wp-session_*
.lia.cache
......@@ -21,19 +21,14 @@ build:
paths:
- install/*
expire_in: 1 week
proof:
.proof-templace: &proof_definition
stage: proof
tags:
- docker
- generic
image: framac/frama-c:22.0
before_script:
- if [ ! -e "$http_proxy" ]; then echo -n 'Acquire::http::Proxy "http://' > /etc/apt/apt.conf; echo -n "$http_proxy" >> /etc/apt/apt.conf; echo '";' >> /etc/apt/apt.conf; fi; cat /etc/apt/apt.conf;
- apt-get update && apt-get install -y gcc-arm-none-eabi libnewlib-arm-none-eabi binutils-arm-none-eabi pandoc
script:
- make carFramaC_defconfig
- make silentoldconfig
- FRAMAC=1 make
- /bin/bash ./run_vali.sh
- cat ./.frama-c/src_controller_controller_task.log | grep "Coverage estimation"
- if (cat ./.frama-c/src_controller_controller_task/nonterm.log | grep "unreachable return"); then exit 1; fi
coverage: '/Coverage estimation = \d+.\d+%/'
......@@ -44,6 +39,7 @@ proof:
- pipelines
- web
artifacts:
when: always
paths:
- "**/*_framac.md"
- "**/*_framac.html"
......@@ -53,3 +49,11 @@ proof:
- .frama-c
- .wp-session_*
expire_in: 1 week
proof:
<<: *proof_definition
image: framac/frama-c:22.0
proof-dev:
<<: *proof_definition
image: framac/frama-c:dev
......@@ -4,6 +4,7 @@ targets = src/controller/controller_task
save-all = $(addsuffix .sav, $(targets))
gui-all = $(addsuffix -gui, $(targets))
FRAMAC=$(FAKE)frama-c
PANDOC=$(shell which pandoc)
GTK_THEME=Adwaita:light
export GTK_THEME
FRAMAC_GUI=$(FAKE)frama-c-gui
......@@ -16,6 +17,10 @@ else
Q = @
endif
framac-version = $(shell $(FRAMAC) -version | awk 'match($$0, /[0-9]*/) { print substr($$0, RSTART, RLENGTH) }')
# Usage: WPFLAGS += $(call framac-version, -lt, 23, -wp-unfold-assigns, -wp-unfold-assigns 0)
framac-ifversion = $(shell [ $(framac-version) $(1) $(2) ] && echo $(3) || echo $(4))
# Basic CFLAGS needed flags by Frama-C
cflags= -C -E
# Includes
......@@ -25,7 +30,7 @@ cflags+= \
-I./mach/include \
-include ./include/generated/autoconf.h \
-I./freertos/include/ \
-Wall -Wundef -Wno-trigraphs -fstrict-aliasing -Wstrict-aliasing=3 -fno-common -Werror-implicit-function-declaration -fno-delete-null-pointer-checks -std=gnu99 -fno-exceptions -Wno-unused-but-set-variable -O0 -g3 -mthumb -mcpu=cortex-m3 \
-Wall -Wundef -Wno-trigraphs -fstrict-aliasing -Wstrict-aliasing=3 -fno-common -Werror-implicit-function-declaration -fno-delete-null-pointer-checks -std=gnu99 -fno-exceptions -Wno-unused-but-set-variable -O0 -g3 \
-Iarch/framaC/ \
-Imach/framaC/include \
-funwind-tables \
......@@ -41,7 +46,8 @@ KERNELFLAGS += -load-script arch/framaC/arm_machdef.ml -machdep arm
# CPP is C Compliant
KERNELFLAGS += -cpp-frama-c-compliant
KERNELFLAGS += -cpp-command
KERNELFLAGS += "arm-none-eabi-gcc $(cflags)"
#KERNELFLAGS += "arm-none-eabi-gcc $(cflags)"
KERNELFLAGS += "gcc $(cflags)"
# no STDLIB
#KERNELFLAGS += -no-frama-c-stdlib
KERNELFLAGS += -cpp-extra-args="-D__FC_MACHDEP_ARM -include arch/framaC/__fc_machdep_arm.h"
......@@ -52,11 +58,12 @@ KERNELFLAGS += -remove-unused-specified-functions
# Enable Kernel Loop unroling
KERNELFLAGS += -ulevel 0
#KERNELFLAGS += -inline-calls capture_init #-remove-inlined capture_init
KERNELFLAGS += -journal-enable
# Function for checking prover is installed and configured
wp-prover-check = $(shell set -e; \
if ($(FRAMAC) -wp-detect | grep $(1)) > /dev/null 2>&1; \
then echo -wp-prover $(1); \
then echo -wp-prover $(1) $(2); \
fi)
wpProver= $(call wp-prover-check, alt-ergo)
......@@ -66,6 +73,7 @@ wpProver+= $(call wp-prover-check, cvc3)
wpProver+= $(call wp-prover-check, z3)
wpProver+= $(call wp-prover-check, z3-ce)
wpProver+= $(call wp-prover-check, z3-nobv)
#wpProver+= $(call wp-prover-check, coq, "-wp-interactive=fix -wp-interactive-timeout 600 " )
#wpProver+= $(call wp-prover-check, native:coq)
#wpProver+= $(call wp-prover-check, native:coqide)
#wpProver+= -wp-coq-script wp-coq.script
......@@ -114,7 +122,9 @@ WPFLAGS += -wp
WPFLAGS += -wp-model Typed+cast+raw+ref+nat+real
WPFLAGS += $(wpProver)
WPFLAGS += -wp-session .wp-session_$*
WPFLAGS += -wp-split -wp-split-depth 20 -wp-unfold-assigns
#WPFLAGS += -wp-split -wp-split-depth 20 -wp-unfold-assigns -1
WPFLAGS += -wp-split -wp-split-depth 0
WPFLAGS += $(call framac-ifversion, -lt, 23, -wp-unfold-assigns, -wp-unfold-assigns -1)
WPFLAGS += -wp-debug 10 -wp-verbose 10
endif
ifdef ENABLE_CG
......@@ -159,14 +169,19 @@ src/controller/controller_task_DPES += src/carFramaC.c
#src/controller/controller_task_FRAMAFLAGS = -lib-entry
src/controller/controller_task_MAIN = controller_task_init
all: prepare validate doc
ALL = prepare validate
ifneq ($(PANDOC),)
ALL += doc
endif
all: $(ALL)
PHONY += validate
validate: $(save-all)
-include $(cmd_files)
%.sav: LOGDIR = .frama-c/$(subst /,_,$*)
%.sav: %.c
%.sav: %.c Makefile.vali
@if [ -e $(LOGDIR) ]; then rm -R $(LOGDIR); fi
@mkdir $(LOGDIR)
@echo "FRAMAC $<"
......@@ -177,14 +192,21 @@ validate: $(save-all)
$(KERNELFLAGS) \
\
-kernel-log w:$(LOGDIR)/warnings.log \
-kernel-log e:$(LOGDIR)/errors.log \
-variadic-log w:$(LOGDIR)/warnings.log \
-variadic-log e:$(LOGDIR)/errors.log \
-metrics -metrics-log a:$(LOGDIR)/metrics.log \
-from-log w:$(LOGDIR)/eva_warnings.log \
-from-log e:$(LOGDIR)/eva_errors.log \
-inout-log w:$(LOGDIR)/eva_warnings.log \
-inout-log e:$(LOGDIR)/eva_errors.log \
-scope-log w:$(LOGDIR)/eva_warnings.log \
-scope-log e:$(LOGDIR)/eva_errors.log \
-eva-log w:$(LOGDIR)/eva_warnings.log \
-eva-log e:$(LOGDIR)/eva_errors.log \
-nonterm-log a:$(LOGDIR)/nonterm.log \
-wp-log w:$(LOGDIR)/wp_warnings.log \
-wp-log e:$(LOGDIR)/wp_errors.log \
$($(addsuffix _FRAMAFLAGS, $*)) \
$(RTEFLAGS) \
$(EVAFLAGS)\
......@@ -199,7 +221,6 @@ validate: $(save-all)
if [ $$? != 0 ]; then echo "Waring: nonterm deteced!"; fi
@echo "$@: $< $($(addsuffix _DPES, $*))" > $(dir $*).$(notdir $*).cmd # Create dependency file
PHONY += gui
gui: $(gui-all)
......@@ -225,7 +246,7 @@ doc: $(addsuffix _framac.html,$(targets))
%_framac.html: %_framac.md
@echo "PANDOC $<"
$(Q)pandoc $^ -t html -o $@
$(Q)$(PANDOC) $^ -t html -o $@
%_framac.md: %.sav %_flamegraph.svg %_flamegraph.html
@echo "FRAMAC $<"
......
......@@ -6,204 +6,43 @@
#
# Architecture Settings
#
CONFIG_ARCH_ARM=y
# CONFIG_ARCH_ARM is not set
# CONFIG_ARCH_X86 is not set
# CONFIG_ARCH_C2000 is not set
CONFIG_ARCH_FRAMAC=y
# CONFIG_ARCH_RISCV is not set
#
# Global Settings
#
CONFIG_CPU_CLOCK_BY_INTERFACE=y
# CONFIG_CPU_CLOCK_BY_DEFINE is not set
# CONFIG_ARCH_64BIT is not set
#
# Architecture Settings
#
# CONFIG_ARCH_ARM_CORTEX_M0 is not set
CONFIG_ARCH_ARM_CORTEX_M3=y
# CONFIG_ARCH_ARM_CORTEX_M4F is not set
CONFIG_ARCH_JUMP_ADDR_ODD=y
CONFIG_ARCH_ARM_FAULT_HANDLER=y
CONFIG_ARCH_ARM_PRINT_ERROR=y
CONFIG_ARCH_SUPPORT_UNWIND_TABLES=y
CONFIG_ARCH_SUPPORT_CUSTOM_TASK_RETURN_ADDRESS=y
CONFIG_ARCH_INCLUDE="-Iarch/arm/cortex-m3 -Iarch/arm/include"
CONFIG_ARCH_CFLAGS="-mthumb -mcpu=cortex-m3"
CONFIG_ARCH_AFLAGS="-mthumb -mcpu=cortex-m3"
CONFIG_ARCH_LDFLAGS=""
CONFIG_ARCH_HAS_TICKLESS_SUPPORT=y
#
# Cortex-M3 Settings
#
CONFIG_ARCH_HAS_OPTIMISED_TASK_SELECTION=y
# CONFIG_ARCH_ARM_DEBUG is not set
#
# Mach Settings
#
# CONFIG_MACH_VF610 is not set
# CONFIG_MACH_STM32 is not set
# CONFIG_MACH_IMX6 is not set
CONFIG_MACH_AM57xx=y
# CONFIG_MACH_S32K is not set
CONFIG_MAX_SYSCALL_INTERRUPT_PRIORITY=0x20
CONFIG_KERNEL_INTERRUPT_PRIORITY=0xf0
CONFIG_MACH_INIT_STACK_SIZE=1024
CONFIG_MACH_LD_SCRIPT="mach/am57xx/am57xx.lds"
CONFIG_MACH_INCLUDE="-Imach/am57xx/include"
CONFIG_MACH_USE_GENERIC_FAULT_HANDLER=y
CONFIG_MACH_FRAMAC=y
CONFIG_MACH_INCLUDE="-Imach/framaC/include"
CONFIG_MACH_DEFINE_HEAP=y
CONFIG_MACH_HAS_GPIO=y
CONFIG_MACH_HAS_NEWLIB=y
CONFIG_MACH_HAS_SPI=y
CONFIG_MACH_HAS_ADC=y
CONFIG_MACH_HAS_TIMER=y
CONFIG_MACH_HAS_PWM=y
CONFIG_MACH_HAS_CAPTURE=y
CONFIG_MACH_HAS_CAN=y
CONFIG_MACH_HAS_NVIC=y
CONFIG_MACH_HAS_MAILBOX=y
#
# AM57xx Settings
# Frama-C Settings
#
CONFIG_MACH_AM57xx_IPU_CPU0=y
# CONFIG_MACH_AM57xx_IPU_CPU1 is not set
# CONFIG_MACH_AM57xx_ACRIVATE_CPU1 is not set
# CONFIG_AM57xx_WAIT_FOR_DEBUGGER is not set
# CONFIG_AM57xx_MUX_DEBUG is not set
CONFIG_AM57xx_GPIO=y
# CONFIG_AM57xx_GPIO_DEBUG is not set
CONFIG_AM57xx_MAILBOX=y
# CONFIG_AM57xx_MAILBOX1 is not set
# CONFIG_AM57xx_MAILBOX2 is not set
# CONFIG_AM57xx_MAILBOX3 is not set
# CONFIG_AM57xx_MAILBOX4 is not set
CONFIG_AM57xx_MAILBOX5=y
CONFIG_AM57xx_MAILBOX5_USERID=3
# CONFIG_AM57xx_MAILBOX5_0 is not set
# CONFIG_AM57xx_MAILBOX5_1 is not set
# CONFIG_AM57xx_MAILBOX5_2 is not set
# CONFIG_AM57xx_MAILBOX5_3 is not set
CONFIG_AM57xx_MAILBOX5_4=y
# CONFIG_AM57xx_MAILBOX5_4_RX is not set
# CONFIG_AM57xx_MAILBOX5_5 is not set
CONFIG_AM57xx_MAILBOX5_6=y
CONFIG_AM57xx_MAILBOX5_6_RX=y
# CONFIG_AM57xx_MAILBOX5_7 is not set
# CONFIG_AM57xx_MAILBOX5_8 is not set
# CONFIG_AM57xx_MAILBOX5_9 is not set
# CONFIG_AM57xx_MAILBOX5_10 is not set
# CONFIG_AM57xx_MAILBOX5_11 is not set
# CONFIG_AM57xx_MAILBOX6 is not set
# CONFIG_AM57xx_MAILBOX7 is not set
# CONFIG_AM57xx_MAILBOX8 is not set
# CONFIG_AM57xx_MAILBOX9 is not set
# CONFIG_AM57xx_MAILBOX10 is not set
# CONFIG_AM57xx_MAILBOX11 is not set
# CONFIG_AM57xx_MAILBOX12 is not set
# CONFIG_AM57xx_MAILBOX13 is not set
CONFIG_AM57xx_SPI=y
# CONFIG_AM57xx_SPI_DEBUG is not set
# CONFIG_AM57xx_SPI1 is not set
# CONFIG_AM57xx_SPI2 is not set
# CONFIG_AM57xx_SPI3 is not set
CONFIG_AM57xx_SPI4=y
CONFIG_AM57xx_SPI4_D0_OUT_D1_IN=y
CONFIG_AM57xx_SPI4_SCLK_MCASP5_ACLKX=y
# CONFIG_AM57xx_SPI4_SCLK_GPMC_A8 is not set
# CONFIG_AM57xx_SPI4_SCLK_VIN2A_HSYNC0 is not set
# CONFIG_AM57xx_SPI4_SCLK_RGMII0_TXD3 is not set
# CONFIG_AM57xx_SPI4_SCLK_MMC3_DAT4 is not set
CONFIG_AM57xx_SPI4_D0_MCASP5_AXR0=y
# CONFIG_AM57xx_SPI4_D0_GPMC_A10 is not set
# CONFIG_AM57xx_SPI4_D0_VIN2A_D0 is not set
# CONFIG_AM57xx_SPI4_D0_RGMII0_TXD1 is not set
# CONFIG_AM57xx_SPI4_D0_MMC3_DAT6 is not set
# CONFIG_AM57xx_SPI4_D1_MCASP5_FSX is not set
# CONFIG_AM57xx_SPI4_D1_GPMC_A9 is not set
# CONFIG_AM57xx_SPI4_D1_VIN2A_VSYNC0 is not set
# CONFIG_AM57xx_SPI4_D1_RGMII0_TXD2 is not set
CONFIG_AM57xx_SPI4_D1_MMC3_DAT5=y
CONFIG_AM57xx_SPI4_CS0_MCASP5_AXR1=y
# CONFIG_AM57xx_SPI4_CS0_GPMC_A11 is not set
# CONFIG_AM57xx_SPI4_CS0_VIN2A_D1 is not set
# CONFIG_AM57xx_SPI4_CS0_RGMII0_TXD0 is not set
# CONFIG_AM57xx_SPI4_CS0_MMC3_DAT7 is not set
CONFIG_AM57xx_SPI4_CS1_UART3_TXD=y
# CONFIG_AM57xx_SPI4_CS1_GPMC_A12 is not set
CONFIG_AM57xx_SPI4_CS2_GPMC_A13=y
# CONFIG_AM57xx_SPI4_CS2_RGMII0_TXC is not set
CONFIG_AM57xx_SPI4_CS3_GPMC_A14=y
# CONFIG_AM57xx_SPI4_CS3_RGMII0_TXCTL is not set
CONFIG_AM57xx_TIMER=y
# CONFIG_AM57xx_TIMER_DEBUG is not set
CONFIG_AM57xx_TIMER_PWM=y
CONFIG_AM57xx_TIMER_CAPTURE=y
# CONFIG_AM57xx_TIMER1 is not set
CONFIG_AM57xx_TIMER2=y
# CONFIG_AM57xx_TIMER2_PWM is not set
CONFIG_AM57xx_TIMER2_CAPTURE=y
CONFIG_AM57xx_TIMER2_GPIO6_15=y
# CONFIG_AM57xx_TIMER2_GPMC_BEN0 is not set
# CONFIG_AM57xx_TIMER3 is not set
CONFIG_AM57xx_TIMER4=y
# CONFIG_AM57xx_TIMER4_PWM is not set
# CONFIG_AM57xx_TIMER4_CAPTURE is not set
# CONFIG_AM57xx_TIMER5 is not set
# CONFIG_AM57xx_TIMER6 is not set
CONFIG_AM57xx_TIMER7=y
CONFIG_AM57xx_TIMER7_PWM=y
# CONFIG_AM57xx_TIMER7_CAPTURE is not set
CONFIG_AM57xx_TIMER7_GPMC_A13=y
# CONFIG_AM57xx_TIMER7_MCASP1_AXR10 is not set
CONFIG_AM57xx_TIMER8=y
# CONFIG_AM57xx_TIMER8_PWM is not set
CONFIG_AM57xx_TIMER8_CAPTURE=y
CONFIG_AM57xx_TIMER8_GPMC_A12=y
# CONFIG_AM57xx_TIMER8_MCASP1_AXR11 is not set
CONFIG_AM57xx_TIMER9=y
# CONFIG_AM57xx_TIMER9_PWM is not set
CONFIG_AM57xx_TIMER9_CAPTURE=y
CONFIG_AM57xx_TIMER9_MCASP1_AXR12=y
# CONFIG_AM57xx_TIMER9_GPMC_A11 is not set
CONFIG_AM57xx_TIMER10=y
# CONFIG_AM57xx_TIMER10_PWM is not set
CONFIG_AM57xx_TIMER10_CAPTURE=y
CONFIG_AM57xx_TIMER10_MCASP1_AXR13=y
# CONFIG_AM57xx_TIMER10_GPMC_A10 is not set
CONFIG_AM57xx_TIMER11=y
# CONFIG_AM57xx_TIMER11_PWM is not set
CONFIG_AM57xx_TIMER11_CAPTURE=y
CONFIG_AM57xx_TIMER11_MCASP1_AXR14=y
# CONFIG_AM57xx_TIMER11_GPMC_A9 is not set
CONFIG_AM57xx_TIMER12=y
CONFIG_AM57xx_TIMER12_PWM=y
# CONFIG_AM57xx_TIMER12_CAPTURE is not set
CONFIG_AM57xx_TIMER12_MCASP1_AXR15=y
# CONFIG_AM57xx_TIMER12_GPMC_A8 is not set
# CONFIG_AM57xx_TIMER13 is not set
CONFIG_AM57xx_TIMER14=y
# CONFIG_AM57xx_TIMER14_PWM is not set
CONFIG_AM57xx_TIMER14_CAPTURE=y
CONFIG_AM57xx_TIMER14_XREF_CLK1=y
# CONFIG_AM57xx_TIMER14_VIN1A_HSYNC0 is not set
CONFIG_AM57xx_TIMER15=y
# CONFIG_AM57xx_TIMER15_PWM is not set
# CONFIG_AM57xx_TIMER15_CAPTURE is not set
CONFIG_AM57xx_TIMER16=y
CONFIG_AM57xx_TIMER16_PWM=y
# CONFIG_AM57xx_TIMER16_CAPTURE is not set
CONFIG_AM57xx_TIMER16_XREF_CLK3=y
# CONFIG_AM57xx_TIMER16_VIN1A_DE0 is not set
CONFIG_MACH_AM57xx_DCAN=y
# CONFIG_TI_DCAN_VERBOSE is not set
# CONFIG_TI_DCAN_SILENT_MODE is not set
CONFIG_MACH_AM57xx_DCAN_CAN1=y
CONFIG_MACH_AM57xx_DCAN_CAN1_MAX_FILTER=2
CONFIG_MACH_AM57xx_DCAN_CAN1_FILTER_QUEUE_ENTRIES=2
# CONFIG_MACH_AM57xx_DCAN_CAN2 is not set
CONFIG_AM57xx_TEMP=y
CONFIG_MACH_FRAMAC_GPIO=y
CONFIG_MACH_FRAMAC_TIMER=y
CONFIG_MACH_FRAMAC_PWM=y
CONFIG_MACH_FRAMAC_CAPTURE=y
#
# Driver
......@@ -215,7 +54,6 @@ CONFIG_AM57xx_TEMP=y
# CONFIG_INSTANCE_NAME is not set
CONFIG_GEN_VERSION=y
CONFIG_GCC=y
CONFIG_GCC_BACKTRACE=y
CONFIG_GPIO=y
# CONFIG_GPIO_MULTI is not set
CONFIG_UART=y
......@@ -224,16 +62,8 @@ CONFIG_UART_GENERIC_BYTE=y
# CONFIG_UART_THREAD_SAFE is not set
# CONFIG_UART_MULTI is not set
CONFIG_NEWLIB=y
CONFIG_NEWLIB_UART=y
CONFIG_NEWLIB_UART_NEWLINE=y
# CONFIG_NEWLIB_USE_PUTS is not set
CONFIG_NEWLIB_MALLOC=y
# CONFIG_NEWLIB_MALLOC_THREAD_SAFE is not set
# CONFIG_MALLOC_2 is not set
CONFIG_MALLOC_3=y
CONFIG_SPI=y
CONFIG_SPI_THREAD_SAFE=y
# CONFIG_SPI_MULTI is not set
# CONFIG_NEWLIB_UART is not set
# CONFIG_NEWLIB_MALLOC is not set
CONFIG_SENSOR=y
CONFIG_ACCEL=y
# CONFIG_ACCEL_THREAD_SAFE is not set
......@@ -245,35 +75,22 @@ CONFIG_TEMP=y
# CONFIG_TEMP_THREAD_SAFE is not set
CONFIG_TEMP_MULTI=y
# CONFIG_TEMP_NTC is not set
CONFIG_INVIMU=y
CONFIG_MPU9250=y
# CONFIG_ICM20948 is not set
# CONFIG_MPU9250_DEBUG is not set
# CONFIG_LTC6811 is not set
CONFIG_ADC=y
CONFIG_ADC_THREAD_SAFE=y
CONFIG_ADC_MULTI=y
CONFIG_ADCS747X=y
CONFIG_ADCS747X_PRIO=4
# CONFIG_MCP320X is not set
CONFIG_ADC_TEST=y
CONFIG_ADC_TEST_PRIO=4
# CONFIG_ADC_MULTI is not set
# CONFIG_ADC_TEST is not set
# CONFIG_DAC is not set
# CONFIG_POWER is not set
CONFIG_TIMER=y
# CONFIG_TIMER_MULTI is not set
CONFIG_PWM=y
CONFIG_PWM_MULTI=y
CONFIG_PWM_SOFTWARE=y
# CONFIG_PWM_SOFTWARE_DEBUG is not set
# CONFIG_PWM_MULTI is not set
# CONFIG_PWM_SOFTWARE is not set
# CONFIG_TLC5947 is not set
CONFIG_CAPTURE=y
CONFIG_CAPTURE_MULTI=y
CONFIG_CAPTURE_SOFTWARE=y
# CONFIG_CAPTURE_MULTI is not set
# CONFIG_EXAMPLE is not set
# CONFIG_NLIBC is not set
CONFIG_MAILBOX=y
# CONFIG_MAILBOX_MULTI is not set
# CONFIG_MAILBOX_THREAD_SAFE is not set
CONFIG_RPROC=y
CONFIG_RPROC_MAILBOX=y
CONFIG_RPROC_MAILBOX_PRIO=4
......@@ -281,16 +98,8 @@ CONFIG_RPROC_TRACE=y
CONFIG_COUNTER=y
# CONFIG_COUNTER_THREAD_SAFE is not set
CONFIG_COUNTER_MULTI=y
CONFIG_COUNTER_SOFTWARE=y
# CONFIG_COUNTER_SOFTWARE_DEBUG is not set
CONFIG_RTC=y
# CONFIG_RTC_MULTI is not set
CONFIG_RTC_THREAD_SAFE=y
CONFIG_RTC_SOFTWARE=y
CONFIG_CAN=y
# CONFIG_CAN_THREAD_SAFE is not set
# CONFIG_CAN_FD is not set
# CONFIG_CAN_MULTI is not set
# CONFIG_COUNTER_SOFTWARE is not set
# CONFIG_RTC is not set
# CONFIG_I2C is not set
#
......@@ -302,12 +111,13 @@ CONFIG_CAN=y
#
# CONFIG_SUPPORT_STATIC_ALLOCATION is not set
CONFIG_SUPPORT_DYNAMIC_ALLOCATION=y
# CONFIG_HEAP_1 is not set
CONFIG_HEAP_1=y
# CONFIG_HEAP_2 is not set
CONFIG_HEAP_3=y
# CONFIG_HEAP_4 is not set
# CONFIG_HEAP_5 is not set
CONFIG_TOTAL_HEAP_SIZE=1536
CONFIG_USE_MALLOC_FAILED_HOOK=y
# CONFIG_APPLICATION_ALLOCATED_HEAP is not set
CONFIG_INCLUDE_USER_FREERTOS_CONFIG=y
# CONFIG_ASSERT_DEFAULT is not set
# CONFIG_ASSERT_DEFAULT_PRINT is not set
......@@ -322,9 +132,6 @@ CONFIG_GENERATE_RUN_TIME_STATS_DEFAULT=y
# CONFIG_INCLUDE_uxTaskGetStackHighWaterMark is not set
# CONFIG_INCLUDE_uxTaskGetStackHighWaterMark2 is not set
CONFIG_USE_LIST_DATA_INTEGRITY_CHECK_BYTES=y
# CONFIG_USE_ALTERNATIVE_API is not set
# CONFIG_TASK_RETURN_ADDRESS is not set
CONFIG_DEFAULT_TASK_RETURN_ADDRESS=y
#
# Task Setting
......@@ -334,9 +141,6 @@ CONFIG_MINIMAL_STACK_SIZE=128
CONFIG_MAX_TASK_NAME_LEN=16
CONFIG_NUM_THREAD_LOCAL_STORAGE_POINTERS=0
# CONFIG_USE_STATS_FORMATTING_FUNCTIONS is not set
CONFIG_USE_TICKLESS_IDLE=y
CONFIG_EXPECTED_IDLE_TIME_BEFORE_SLEEP=2
# CONFIG_PRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING_FUNCTION is not set
# CONFIG_USE_IDLE_HOOK is not set
# CONFIG_USE_DAEMON_TASK_STARTUP_HOOK is not set
CONFIG_INCLUDE_vTaskSuspend=y
......@@ -348,21 +152,20 @@ CONFIG_IDLE_SHOULD_YIELD=y
# CONFIG_USE_NEWLIB_REENTRANT is not set
CONFIG_USE_TASK_NOTIFICATIONS=y
CONFIG_TASK_NOTIFICATION_ARRAY_ENTRIES=1
# CONFIG_USE_PORT_OPTIMISED_TASK_SELECTION is not set
CONFIG_CHECK_STACK_OVERFLOW=y
# CONFIG_CHECK_FOR_STACK_OVERFLOW_1 is not set
CONFIG_CHECK_FOR_STACK_OVERFLOW_2=y
CONFIG_RECORD_STACK_HIGH_ADDRESS=y
# CONFIG_USE_TICK_HOOK is not set
CONFIG_STACK_DEPTH_TYPE_16BIT=y
# CONFIG_STACK_DEPTH_TYPE_32BIT is not set
CONFIG_STACK_DEPTH_TYPE_32BIT=y
# CONFIG_STACK_DEPTH_TYPE_16BIT is not set
# CONFIG_STACK_DEPTH_TYPE_PTR_T is not set
CONFIG_INITIAL_TICK_COUNT=0
# CONFIG_USE_POSIX_ERRNO is not set
#
# Function Support
#
# CONFIG_INCLUDE_vTaskDelete is not set
# CONFIG_INCLUDE_xTaskGetIdleTaskHandle is not set
CONFIG_INCLUDE_vTaskDelay=y
# CONFIG_INCLUDE_vTaskDelayUntil is not set
......@@ -400,19 +203,20 @@ CONFIG_TIMER_QUEUE_LENGTH=10
#
CONFIG_CROSS_COMPILE="arm-none-eabi-"
CONFIG_DEBUG=y
CONFIG_GENERATE_UNWIND_TABLES=y
CONFIG_OPTIMIZATION_O0=y
# CONFIG_OPTIMIZATION_O1 is not set
# CONFIG_OPTIMIZATION_O2 is not set
# CONFIG_OPTIMIZATION_O3 is not set
# CONFIG_OPTIMIZATION_Ofast is not set
# CONFIG_OPTIMIZATION_Os is not set
# CONFIG_OPTIMIZATION_Og is not set
# CONFIG_REMOVE_UNUSED_SECTIONS is not set
CONFIG_USER_ERROR_FUNCTION=y
CONFIG_EXTRA_AFLAGS=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_CPPFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
# CONFIG_WITH_UBOOT_IMG is not set
#
# Application Config
......@@ -421,8 +225,6 @@ CONFIG_APP_LIBS="-lm"
# CONFIG_ERROR_HANDLING_DEBUG is not set
CONFIG_RC=y
# CONFIG_RC_TEST is not set
CONFIG_CAN_BITRATE=500000
# CONFIG_MOTORCONTROLLER is not set
CONFIG_SPEEDSENSOR=y
# CONFIG_SPEEDSENSOR_THREAD_SAFE is not set
# CONFIG_SPEEDSENSOR_MULTI is not set
......@@ -435,8 +237,8 @@ CONFIG_MOTOR_PWM=y
CONFIG_CAR_MOTOR_PWM=y
# CONFIG_CAR_SERVO_NONE is not set
CONFIG_CAR_SERVO_PWM=y
CONFIG_CAR_2_0=y
# CONFIG_CAR_2_1 is not set
# CONFIG_CAR_2_0 is not set
CONFIG_CAR_2_1=y
CONFIG_CONTROLLER=y
CONFIG_PID_CONTROLLER=y
CONFIG_RC_SPEED_FACTOR_1_5=y
......@@ -448,9 +250,8 @@ CONFIG_CONTROLLER_DRIVE_TIMEOUT=10
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
CONFIG_BMS=y
# CONFIG_BMS_LIPO is not set
CONFIG_BMS_LIPO=y
# CONFIG_BMS_PRINT_VOLT is not set
# CONFIG_BMS_TEST is not set
# CONFIG_COUNTER_TEST is not set
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
......@@ -460,9 +261,7 @@ CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=5
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
# CONFIG_US_DEBUG is not set
# CONFIG_US is not set
CONFIG_SHM=y
CONFIG_TELEMETRIE=y
# CONFIG_TELEMETRIE_DEBUG is not set
......
Subproject commit 68a113e2362574029975e6b6e7c49225f769f5e5
Subproject commit 402401990c58992ad8dd76d01d94d5019ef38739
......@@ -28,6 +28,9 @@
* \{
*/
#define MOTORCONTROLLER_HEARTBEAT_TASK_STACK_SIZE (256)
#define MOTORCONTROLLER_ADC_TASK_STACK_SIZE (256)
/**
* Private struct of the Motorcontroller driver
*/
......@@ -213,7 +216,6 @@ struct motorcontroller_temp {
void *callback_data;
bool running;
uint32_t ticks;
OS_DEFINE_TASK(task, MOTORCONTROLLER_temp_TASK_STACK_SIZE);
};
struct motorcontroller_temp_config {
......
......@@ -20,8 +20,6 @@
// motorcontroller / generic
#define MOTORCONTROLLER_HEARTBEAT_TASK_STACK_SIZE (256)
#define MOTORCONTROLLER_HEARTBEAT_PERIOD_MS (100)
#define MOTORCONTROLLER_TX_TIMEOUT_MS (50)
#define MOTORCONTROLLER_HEARTBEAT_TIMEOUT_MS (500)
......@@ -29,13 +27,6 @@
#define MOTORCONTROLLER_TASK_NOTIFY_INDEX (1)
// ADC
#define MOTORCONTROLLER_ADC_TASK_STACK_SIZE (256)
int32_t motorcontroller_register_filter(struct motorcontroller *motorcontroller, uint32_t can_id, int32_t *filterID, bool (*callback)(struct can *can, struct can_msg *msg, void *data));
int32_t motorcontroller_send_control(struct motorcontroller *motorcontroller, uint16_t control);
int32_t motorcontroller_update_control(struct motorcontroller *motorcontroller, uint16_t control, uint16_t control_bits, uint16_t control_mask);
......
Subproject commit 8488f493981fcc0f537da2417db06f8688c67659
Subproject commit 4ce005fd4430cccf60dd27193ae8ec62fa7be9bf
#!/bin/bash