Skip to content

Commit f4bb68b

Browse files
authored
Merge pull request #146 from sarfata/develop
Release v1.3.5
2 parents f385f01 + 9d416b5 commit f4bb68b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+945
-256
lines changed

Diff for: .gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ CMakeListsPrivate.txt
4242

4343
# CLion
4444
cmake-build-debug
45+
# User-specific stuff
46+
.idea/**/workspace.xml
47+
.idea/**/tasks.xml
48+
.idea/**/usage.statistics.xml
49+
.idea/**/dictionaries
50+
.idea/**/shelf
4551

4652
# Python VirtualEnv
4753
venv

Diff for: .idea/clion.iml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/codeStyles/Project.xml

+29
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/codeStyles/codeStyleConfig.xml

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/markdown-navigator.xml

+78
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/misc.xml

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/modules.xml

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/platformio.iml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/vcs.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/watcherTasks.xml

+30
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: CMakeLists.txt

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
cmake_minimum_required(VERSION 3.2)
2+
project(kbox-firmware)
3+
4+
# include_directories("$ENV{HOME}/.platformio/packages/framework-arduinoteensy/libraries/Time")
5+
#include_directories("$ENV{HOME}/work/kbox-firmware/.piolibdeps/Time_ID44")
6+
7+
#include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include")
8+
#include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/lib/gcc/arm-none-eabi/5.4.1/include")
9+
#include_directories("$ENV{HOME}/.platformio/packages/toolchain-gccarmnoneeabi/lib/gcc/arm-none-eabi/5.4.1/include-fixed")
10+
11+
# This needs to be replaced by a toolchain file
12+
# https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling
13+
#SET(CMAKE_C_COMPILER "/Users/thomas/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc")
14+
#SET(CMAKE_CXX_COMPILER "/Users/thomas/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-g++")
15+
16+
17+
# Options I removed for x86:
18+
# removed for x86 -mthumb -mcpu=cortex-m4 -nostdlib
19+
20+
# Probably should replace all of these by add_definitions / add_options instead
21+
SET(CMAKE_CXX_FLAGS_DISTRIBUTION "-fno-exceptions -felide-constructors -fno-rtti -std=gnu++14 -g -Os -Wall
22+
-ffunction-sections -fdata-sections -fsingle-precision-constant -fstack-usage -Wall -Werror
23+
-DKBOX_VERSION="test" -DF_CPU=72000000L
24+
-DLAYOUT_US_ENGLISH -DPLATFORMIO=30401 -D__MK20DX256__ -DTEENSY31
25+
-DSERIAL1_RX_BUFFER_SIZE=512 -DSERIAL1_TX_BUFFER_SIZE=512 -DUSB_SERIAL -DARDUINO=10805 -DTEENSYDUINO=140")
26+
SET(CMAKE_C_FLAGS_DISTRIBUTION "-g -Os -Wall
27+
-ffunction-sections -fdata-sections -fsingle-precision-constant -fstack-usage -Wall -Werror
28+
-DKBOX_VERSION="test" -DF_CPU=72000000L
29+
-DLAYOUT_US_ENGLISH -DPLATFORMIO=30401 -D__MK20DX256__ -DTEENSY31
30+
-DSERIAL1_RX_BUFFER_SIZE=512 -DSERIAL1_TX_BUFFER_SIZE=512 -DUSB_SERIAL -DARDUINO=10805 -DTEENSYDUINO=140")
31+
32+
33+
set(CMAKE_CXX_STANDARD 11)
34+
set(CMAKE_CXX_EXTENSIONS OFF)
35+
set(CMAKE_VERBOSE_MAKEFILE off)
36+
37+
#add_definitions(-DF_CPU=72000000L)
38+
#add_definitions(-DLAYOUT_US_ENGLISH)
39+
#add_definitions(-DPLATFORMIO=30401)
40+
#add_definitions(-D__MK20DX256__)
41+
#add_definitions(-DTEENSY31)
42+
#add_definitions(-DSERIAL1_RX_BUFFER_SIZE=512)
43+
#add_definitions(-DSERIAL1_TX_BUFFER_SIZE=512)
44+
#add_definitions(-DUSB_SERIAL)
45+
#add_definitions(-DARDUINO=10805)
46+
#add_definitions(-DTEENSYDUINO=140)
47+
48+
#include(CMakeListsPrivate.txt)
49+
50+
51+
52+
53+
54+
55+
FILE(GLOB_RECURSE TEST_LIST
56+
"/Users/thomas/work/kbox-firmware/.piolibdeps/NMEA2000-library/src/*.*"
57+
"/Users/thomas/work/kbox-firmware/lib/KBoxLogging/src/*.*"
58+
"/Users/thomas/work/kbox-firmware/src/common/comms/*.*"
59+
"/Users/thomas/work/kbox-firmware/src/common/nmea/*.*"
60+
"/Users/thomas/work/kbox-firmware/src/common/signalk/*.*"
61+
"/Users/thomas/work/kbox-firmware/src/common/time/*.*"
62+
"/Users/thomas/work/kbox-firmware/src/common/util/*.*"
63+
"/Users/thomas/work/kbox-firmware/src/host/config/*.*"
64+
"/Users/thomas/work/kbox-firmware/src/test/*.*"
65+
)
66+
add_executable(testrunner ${TEST_LIST})
67+
target_compile_options(testrunner PRIVATE -g -O0)
68+
target_compile_definitions(testrunner PRIVATE -DKBOX_TESTS -DHAVE_STRLCAT -DHAVE_STRLCPY)
69+
target_include_directories(testrunner PRIVATE
70+
src
71+
.piolibdeps/NMEA2000-library/src
72+
.piolibdeps/ArduinoJson/src
73+
lib/KBoxLogging/src
74+
.piolibdeps/elapsedMillis_ID1002
75+
src/test/arduinomock
76+
src/test/teensyheaders
77+
)
78+
79+
enable_testing()
80+
add_test(testrunner testrunner)
81+
82+
83+
# These targets make it possible to run platformio from various IDEs
84+
85+
set(PLATFORMIO_CMD "/usr/local/bin/platformio")
86+
87+
add_custom_target(
88+
KBOX_TEST
89+
COMMAND ${PLATFORMIO_CMD} -f -c clion run -e test
90+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
91+
COMMAND .pioenvs/test/program
92+
)
93+
94+
add_custom_target(
95+
PLATFORMIO_BUILD_HOST
96+
COMMAND ${PLATFORMIO_CMD} -f -c clion run -e host
97+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
98+
)
99+
100+
add_custom_target(
101+
PLATFORMIO_BUILD_ESP
102+
COMMAND ${PLATFORMIO_CMD} -f -c clion run -e esp
103+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
104+
)
105+
106+
FILE(GLOB_RECURSE SRC_LIST "")
107+
add_executable(${PROJECT_NAME} /Users/thomas/work/kbox-firmware/src/host/main.cpp)
108+

Diff for: Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ ifeq ($(UNAME), Darwin)
88
endif
99

1010

11+
.PHONY: test clean validation
12+
1113
all:
1214
platformio run
1315

Diff for: README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,14 @@ been possible!**
192192

193193
## Changelog
194194

195+
* 2018 07 26 - v1.3.5
196+
* Fix a bug that would cause KBox to crash on NMEA sentences without a checksum
197+
* Fix a bug where RMC sentence without a date would crash KBox
198+
* Added support for parsing DPT and DBT NMEA sentences
199+
* Added support for generating DBT and DPT sentences. By default only DPT is enabled.
200+
* Added support for parsing XDR air temperature measurements.
201+
* Parse magnetic variation from RMC sentence
202+
* Generate NMEA2000 messages for air temperature measurements
195203
* 2018 07 06 - v1.3.4
196204
* Specify a list of default environment so platformio does not build all variants
197205
of the project by default.
@@ -209,7 +217,6 @@ been possible!**
209217
* Tested the official ESP uploader on Windows and OS X. Comment out the line
210218
`tools/platformio_cfg_esp.py` in `platformio.ini` to use it.
211219
It will be a little bit slower but might work better for some people.
212-
213220
* 2018 07 06 - v1.3.2
214221
* Changes to the build configuration to improve compatibility with Windows
215222
and address breaking changes in plaformio.

0 commit comments

Comments
 (0)