Commit 72560b3b authored by Andreas Werner's avatar Andreas Werner
Browse files

Merge branch 'master' of gitlab.cs.hs-rm.de:CaroloCup/carolocupFirmware

parents 86189a17 376ae7e3
Pipeline #9458 passed with stages
in 2 minutes and 25 seconds
**.cmd
**.o
**.a
**_framac.md
**.sav*
**_framac.md
**_framac.html
**_flamegraph*
.config*
**linux
include/config
......@@ -11,3 +16,4 @@ nbproject
.clang
src/version.c
install
.frama-c
stages:
- build
- proof
variables:
GIT_SUBMODULE_STRATEGY: "recursive"
build:
stage: build
tags:
- docker
- generic
image: gitlab.cs.hs-rm.de:4567/docker-images/ubuntu-build-essential:ubuntu-20.04
script:
- ./build.sh
......@@ -16,3 +21,35 @@ build:
paths:
- install/*
expire_in: 1 week
proof:
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
- 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+%/'
only:
- branches
- triggers
- schedules
- pipelines
- web
artifacts:
paths:
- "**/*_framac.md"
- "**/*_framac.html"
- "**/*_flamegraph*"
- "**/*.sav*"
- "**/*_annot.c"
- .frama-c
- .wp-session_*
expire_in: 1 week
PROJECT_NAME := carolocupFirmware
objs-y := src arch mach driver freertos
#libs-y := libs
ifdef FRAMAC
include Makefile.vali
else
include scripts/Makefile.project
endif
authors=Andreas Werner
title=CaroloCup Firmware
targets = src/controller/controller_task
save-all = $(addsuffix .sav, $(targets))
gui-all = $(addsuffix -gui, $(targets))
FRAMAC=$(FAKE)frama-c
GTK_THEME=Adwaita:light
export GTK_THEME
FRAMAC_GUI=$(FAKE)frama-c-gui
space := $(subst ,, )
comma := ,
cmd_files := $(wildcard $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
ifeq ("$(origin V)", "command line")
Q =
else
Q = @
endif
# Basic CFLAGS needed flags by Frama-C
cflags= -C -E
# Includes
cflags+= \
-I./include \
-I./driver/include \
-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 \
-Iarch/framaC/ \
-Imach/framaC/include \
-funwind-tables \
-D'KBUILD_STR(s)=\#s' -D'KBUILD_BASENAME=KBUILD_STR(carolocupFirmware)' -D'KBUILD_MODNAME=KBUILD_STR(carolocupFirmware)'
FRAMAFLAGS=
# Frama-C Kernel Settings
KERNELFLAGS += -kernel-msg-key pp
# C11 Standardt
KERNELFLAGS += -c11
# ARM Spec
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)"
# no STDLIB
#KERNELFLAGS += -no-frama-c-stdlib
KERNELFLAGS += -cpp-extra-args="-D__FC_MACHDEP_ARM -include arch/framaC/__fc_machdep_arm.h"
# Keep Comments
#KERNELFLAGS += -keep-comments
# Remove unused functions
KERNELFLAGS += -remove-unused-specified-functions
# Enable Kernel Loop unroling
KERNELFLAGS += -ulevel 0
#KERNELFLAGS += -inline-calls capture_init #-remove-inlined capture_init
# 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); \
fi)
wpProver= $(call wp-prover-check, alt-ergo)
wpProver+= $(call wp-prover-check, cvc4)
wpProver+= $(call wp-prover-check, cvc4-ce)
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, native:coq)
#wpProver+= $(call wp-prover-check, native:coqide)
#wpProver+= -wp-coq-script wp-coq.script
#wpProver+= -wp-coqide gvim
# RTE
ifndef DISABLE_RTE
RTEFLAGS += -rte
#RTEFLAGS += -rte-initialized
#RTEFLAGS += -rte-trivial-annotations
endif
ifndef DISABLE_EVA
# EVA
EVAFLAGS += -eva
EVAFLAGS += -eva-precision 11
EVAFLAGS += -eva-ignore-recursive-calls
EVAFLAGS += -eva-context-depth 10
EVAFLAGS += -eva-context-width 10
#EVAFLAGS += -eva-context-depth 20
#EVAFLAGS += -eva-context-width 20
EVAFLAGS += -eva-slevel 256
#EVAFLAGS += -eva-show-slevel 1 # debug
EVAFLAGS += -eva-ilevel 128 # defaults to 8, must be between 4 and 128
EVAFLAGS += -eva-partition-history 3
#EVAFLAGS += -eva-memexec # Speed up analysis by not recomputing functions already analyzed in the same context.
EVAFLAGS += -eva-no-memexec
eva-domains += cvalue
eva-domains += symbolic-locations
eva-domains += equality
eva-domains += gauges
eva-domains += octagon
eva-domains += bitwise
eva-domains += sign
eva-domains += inout
#eva-domains += traces
#EVAFLAGS += -eva-traces-dot $(subst /,_,$*)_cfg.dot -eva-traces-unify-loop -eva-traces-unroll-loop
#eva-domains += printer
EVAFLAGS += -eva-domains $(subst $(space),$(comma),$(eva-domains))
EVAFLAGS += -eva-min-loop-unroll 1 -eva-auto-loop-unroll 100
EVAFLAGS += -eva-octagon-through-calls
EVAFLAGS += -eva-flamegraph .frama-c/$(subst /,_,$*).txt
endif
# WP
ifndef DISABLE_WP
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-debug 10 -wp-verbose 10
endif
ifdef ENABLE_CG
CGFLAGS += -cg $*_cg.dot -cg-no-uncalled
endif
ifndef DISABLE_NONTERM
NONTERMFLAGS += -then -nonterm
endif
REPORTFLAGS += -then -report
ifdef ONLY_NOT_PROVEN
# report and then report only not proven
REPORTFLAGS += -report-no-proven
endif
ifndef DISABLE_METRICS
METRICSFLAGS += -then -metrics -metrics-eva-cover
endif
src/controller/controller_task_DPES += mach/framaC/capture.c driver/capture/capture_generic.c
src/controller/controller_task_DPES += mach/framaC/timer.c driver/timer/timer_generic.c
src/controller/controller_task_DPES += mach/framaC/pwm.c driver/pwm/pwm_generic.c
src/controller/controller_task_DPES += mach/framaC/gpio.c driver/gpio/gpio.c
src/controller/controller_task_DPES += src/controller/controller_init.c
src/controller/controller_task_DPES += src/controller/controller_shutdown.c
src/controller/controller_task_DPES += src/controller/controller_drive.c
src/controller/controller_task_DPES += src/controller/controller_rc.c
src/controller/controller_task_DPES += src/controller/controller_status.c
src/controller/controller_task_DPES += src/controller/controller_stateMaschine.c
src/controller/controller_task_DPES += src/controller/controller_updateDriveParams.c
src/controller/controller_task_DPES += src/controller/controller_throttle.c
src/controller/controller_task_DPES += src/pid_controller.c
src/controller/controller_task_DPES += src/motor_pwm.c
src/controller/controller_task_DPES += src/motor.c
src/controller/controller_task_DPES += src/remote_control.c
src/controller/controller_task_DPES += src/shm.c
#src/controller/controller_task_DPES += src/shm_framaC.c
src/controller/controller_task_DPES += src/speedsensor.c
src/controller/controller_task_DPES += src/wheel_speedsensor.c driver/counter/counter_generic.c
src/controller/controller_task_DPES += src/controller/controller_task_framaC.c
src/controller/controller_task_DPES += src/median.c
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
PHONY += validate
validate: $(save-all)
-include $(cmd_files)
%.sav: LOGDIR = .frama-c/$(subst /,_,$*)
%.sav: %.c
@if [ -e $(LOGDIR) ]; then rm -R $(LOGDIR); fi
@mkdir $(LOGDIR)
@echo "FRAMAC $<"
$(Q)$(FRAMAC) -save $*.sav \
-main $($(addsuffix _MAIN, $*)) \
$< $($(addsuffix _DPES, $*)) \
$(FRAMAFLAGS) \
$(KERNELFLAGS) \
\
-kernel-log w:$(LOGDIR)/warnings.log \
-variadic-log w:$(LOGDIR)/warnings.log \
-metrics -metrics-log a:$(LOGDIR)/metrics.log \
-from-log w:$(LOGDIR)/eva_warnings.log \
-inout-log w:$(LOGDIR)/eva_warnings.log \
-scope-log w:$(LOGDIR)/eva_warnings.log \
-eva-log w:$(LOGDIR)/eva_warnings.log \
-nonterm-log a:$(LOGDIR)/nonterm.log \
-wp-log w:$(LOGDIR)/wp_warnings.log \
$($(addsuffix _FRAMAFLAGS, $*)) \
$(RTEFLAGS) \
$(EVAFLAGS)\
$(WPFLAGS)\
$(CGFLAGS)\
$(NONTERMFLAGS)\
$(REPORTFLAGS)\
$(METRICSFLAGS)\
> .frama-c/$(subst /,_,$*).log; \
if [ $$? != 0 ]; then cat .frama-c/$(subst /,_,$*).log; fi; \
cat $(LOGDIR)/nonterm.log | grep "unreachable return" &> /dev/null; \
if [ $$? != 0 ]; then echo "Waring: nonterm deteced!"; fi
@echo "$@: $< $($(addsuffix _DPES, $*))" > $(dir $*).$(notdir $*).cmd # Create dependency file
PHONY += gui
gui: $(gui-all)
%-gui: %.sav
@echo "GUI $<"
$(Q)$(FRAMAC_GUI) -load $*.sav &
%.dot %_annot.c: %.c %.ltl
$(Q)if [ -e $*_annot.c ]; then rm $*_annot.c; fi
$(Q)if [ -e $*.dot ]; then rm $*.dot; fi
$(Q)$(FRAMAC) $(FRAMAFLAGS) -main $* $*.c $($(addsuffix _DPES, $*)) -aorai-ltl $*.ltl -aorai-dot -aorai-dot-sep-labels -aorai-verbose 10 -aorai-acceptance
%.pml: %.c %.ltl
@echo "FRAMAC $<"
$(Q)$(FRAMAC) $*.c -aorai-ltl $*.ltl -aorai-to-buchi $@
%.png: %.dot
@echo "CIRCO $<"
$(Q)circo -Tpng $*.dot -o $@
PHONY += doc
doc: $(addsuffix _framac.html,$(targets))
%_framac.html: %_framac.md
@echo "PANDOC $<"
$(Q)pandoc $^ -t html -o $@
%_framac.md: %.sav %_flamegraph.svg %_flamegraph.html
@echo "FRAMAC $<"
$(Q)$(FRAMAC) -load $*.sav -mdr-title $(title) -mdr-authors "$(authors)" -mdr-gen md -mdr-flamegraph $*_flamegraph.html -mdr-out $@
%_flamegraph.svg %_flamegraph.html: %.sav
@echo "GEN $<"
$(Q)NOGUI=1 frama-c-script flamegraph .frama-c/$(subst /,_,$*).txt
$(Q)mv .frama-c/flamegraph.svg $*_flamegraph.svg
$(Q)mv .frama-c/flamegraph.html $*_flamegraph.html
PHONY += prepare
prepare: include/generated/autoconf.h .frama-c
include/generated/autoconf.h: .config
@echo "GEN $@"
$(Q)unset FRAMAC; make silentoldconfig
.frama-c:
$(Q)mkdir $@
PHONY += menuconfig
menuconfig:
@echo "MAKE menuconfig"
$(Q)unset FRAMAC; make menuconfig
clean-files += $(cmd_files)
clean-files += $(addsuffix .sav*,$(targets))
clean-files += $(addsuffix _framac.md,$(targets))
clean-files += $(addsuffix _flamegraph.svg,$(targets)) $(addsuffix _flamegraph.html,$(targets))
clean-files += $(addsuffix _annot.c,$(targets))
clean-files += $(addsuffix .png,$(targets))
clean-dirs += .frama-c .wp-session*
_clean-files = $(wildcard $(clean-files))
_clean-dirs = $(wildcard $(clean-dirs))
PHONY += clean
clean:
ifneq ($(strip $(_clean-files)),)
@echo "CLEAN $(_clean-files)"
-$(Q)rm $(_clean-files)
endif
ifneq ($(strip $(_clean-dirs)),)
@echo "CLEAN $(_clean-dirs)"
-$(Q)rm -R $(_clean-dirs)
endif
@:
.PRECIOUS: %_annot.c %_flamegraph.svg %_flamegraph.html %_framac.md
.PHONY: $(PHONY)
......@@ -443,6 +443,7 @@ CONFIG_PID_CONTROLLER=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
CONFIG_RC_SPEED_FACTOR_0_3=y
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_PID_CONTROLLER=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
CONFIG_RC_SPEED_FACTOR_0_3=y
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_PID_CONTROLLER=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
CONFIG_RC_SPEED_FACTOR_0_75=y
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_PID_CONTROLLER=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
CONFIG_RC_SPEED_FACTOR_0_75=y
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_PID_CONTROLLER=y
CONFIG_RC_SPEED_FACTOR_1_0=y
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_PID_CONTROLLER=y
CONFIG_RC_SPEED_FACTOR_1_0=y
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_RC_SPEED_FACTOR_1_5=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -443,6 +443,7 @@ CONFIG_RC_SPEED_FACTOR_1_5=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -454,9 +455,10 @@ CONFIG_BMS=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -531,6 +531,7 @@ CONFIG_PID_CONTROLLER=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
CONFIG_RC_SPEED_FACTOR_0_3=y
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -542,9 +543,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -531,6 +531,7 @@ CONFIG_PID_CONTROLLER=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
CONFIG_RC_SPEED_FACTOR_0_75=y
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -542,9 +543,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -531,6 +531,7 @@ CONFIG_PID_CONTROLLER=y
CONFIG_RC_SPEED_FACTOR_1_0=y
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -542,9 +543,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
......@@ -531,6 +531,7 @@ CONFIG_RC_SPEED_FACTOR_1_5=y
# CONFIG_RC_SPEED_FACTOR_1_0 is not set
# CONFIG_RC_SPEED_FACTOR_0_75 is not set
# CONFIG_RC_SPEED_FACTOR_0_3 is not set
CONFIG_CONTROLLER_DRIVE_TIMEOUT=500
# CONFIG_CONTROLLER_WHEEL_SENSOR_BROKEN is not set
CONFIG_EMERGENCY=y
# CONFIG_EMERGENCY_TEST is not set
......@@ -542,9 +543,10 @@ CONFIG_BMS_LIPO=y
CONFIG_WHEEL_SPEEDSENSOR=y
# CONFIG_WHEEL_SPEEDSENSOR_TEST is not set
# CONFIG_WHEEL_SPEEDSENSOR_DEBUG is not set
CONFIG_WHEEL_SPEEDSENSOR_QUEUE_SIZE=21
CONFIG_WHEEL_SPEEDSENSOR_PIN=y
CONFIG_MEDIAN=y
# CONFIG_MEDIAN_DEBUG is not set
CONFIG_MEDIAN_QUEUE_SIZE=21
# CONFIG_UC_TEST is not set
CONFIG_US=y
# CONFIG_US_TEST is not set
......
#
# Automatically generated file; DO NOT EDIT.
# FreeRTOS Configuration
#
#
# Architecture Settings
#
CONFIG_ARCH_ARM=y
# CONFIG_ARCH_X86 is not set
# CONFIG_ARCH_C2000 is not set
#
# Global Settings
#
CONFIG_CPU_CLOCK_BY_INTERFACE=y
# CONFIG_CPU_CLOCK_BY_DEFINE 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"