├── lib
├── miosix-kernel
│ ├── miosix
│ │ ├── util
│ │ │ ├── utf8test
│ │ │ ├── crc16.h
│ │ │ ├── crc16.cpp
│ │ │ ├── lcd44780.h
│ │ │ └── lcd44780.cpp
│ │ ├── arch
│ │ │ ├── cortexM0
│ │ │ │ └── arch_registers_impl.h
│ │ │ ├── cortexM3
│ │ │ │ └── arch_registers_impl.h
│ │ │ └── common
│ │ │ │ ├── core
│ │ │ │ ├── memory_protection.h
│ │ │ │ └── interrupts.h
│ │ │ │ └── drivers
│ │ │ │ └── serial.h
│ │ ├── miosix.h
│ │ ├── filesystem
│ │ │ ├── fat32
│ │ │ │ └── integer.h
│ │ │ └── ioctl.h
│ │ └── kernel
│ │ │ ├── SystemMap.h
│ │ │ └── SystemMap.cpp
│ ├── README.md
│ └── meson.build
├── qdec
│ ├── readme
│ └── license.txt
└── minmea
│ └── COPYING
├── .github
├── FUNDING.yml
└── workflows
│ └── regenerate_symbols.yml
├── requirements.txt
├── subprojects
├── packagefiles
│ ├── XPowersLib
│ │ └── meson.build
│ ├── radio_tool
│ │ └── meson.build
│ ├── codec2
│ │ ├── codec2
│ │ │ └── version.h
│ │ └── meson.build
│ └── tinyusb
│ │ └── meson.build
├── tinyusb.wrap
├── XPowersLib.wrap
├── radio_tool.wrap
└── codec2.wrap
├── voiceprompts.vpc
├── scripts
├── bin2sgl.exe
├── bin2sgl.Darwin
├── bin2sgl.Linux.bin
├── openocd
│ ├── mod17.cfg
│ └── stm32f4.cfg
├── bin2sgl.Linux
├── plot_m17_demod_csv2.py
├── plot_m17_demod_csv.py
├── clang_format.sh
├── add_dc_offset.cpp
└── dfu_suffix.py
├── .devcontainer
├── devcontainer.json
└── Dockerfile
├── meta
├── sat_menu_dev.txt
├── ptt_test.txt
├── select_menu.txt
├── menu_test.txt
├── readme
└── leak_check.txt
├── tests
├── unit
│ ├── assets
│ │ ├── M17_test_baseband.raw
│ │ └── M17_test_baseband_dc.raw
│ ├── dummy.c
│ ├── convert_minmea_coord.c
│ ├── ui_check_standby.c
│ ├── voice_prompts.c
│ └── M17_rrc.cpp
└── platform
│ ├── boot_test.c
│ └── tonegen.c
├── platform
├── mcu
│ ├── CMSIS
│ │ ├── Device
│ │ │ └── ST
│ │ │ │ └── STM32F4xx
│ │ │ │ └── Include
│ │ │ │ └── stm32f4xx.h
│ │ └── Include
│ │ │ └── arm_common_tables.h
│ ├── MK22FN512xxx12
│ │ ├── boot
│ │ │ ├── arch_registers_impl.h
│ │ │ └── bsp.cpp
│ │ └── drivers
│ │ │ ├── usb
│ │ │ ├── usb_device_cdc_acm.c
│ │ │ ├── usb_osa_bm.c
│ │ │ └── usb_osa_bm.h
│ │ │ ├── rng.c
│ │ │ └── usb_vcom.h
│ ├── STM32H7xx
│ │ └── boot
│ │ │ ├── arch_registers_impl.h
│ │ │ └── libc_integration.cpp
│ ├── STM32F4xx
│ │ ├── boot
│ │ │ └── arch_registers_impl.h
│ │ └── drivers
│ │ │ ├── usb
│ │ │ └── usbd_usr.c
│ │ │ └── flash.h
│ ├── ESP32S3
│ │ ├── zephyr.conf
│ │ └── drivers
│ │ │ └── delays.c
│ └── x86_64
│ │ └── drivers
│ │ ├── rng.cpp
│ │ └── delays.c
├── targets
│ ├── ttwrplus
│ │ ├── Kconfig.sysbuild
│ │ ├── support
│ │ │ └── openocd.cfg
│ │ ├── Kconfig.board
│ │ ├── ttwrplus.yaml
│ │ ├── board.cmake
│ │ ├── Kconfig.defconfig
│ │ ├── ttwrplus_defconfig
│ │ ├── CMakeLists.txt
│ │ └── hwconfig.h
│ ├── linux
│ │ ├── hwconfig.h
│ │ └── emulator
│ │ │ ├── emulator.h
│ │ │ └── sdl_engine.h
│ ├── GDx
│ │ ├── hwconfig.c
│ │ └── hwconfig.h
│ └── MD-9600
│ │ └── hwconfig.c
└── drivers
│ ├── display
│ └── SH110x_Mod17.h
│ ├── audio
│ ├── MAX9814.h
│ ├── MAX9814_Mod17.cpp
│ ├── file_source.h
│ └── Cx000_dac.h
│ ├── GPIO
│ └── gpio-native.h
│ ├── stubs
│ ├── keyboard_stub.c
│ ├── display_stub.c
│ ├── nvmem_stub.c
│ ├── inputStream_stub.c
│ ├── radio_stub.c
│ └── outputStream_stub.c
│ ├── USB
│ └── usb.h
│ ├── keyboard
│ ├── keyboard_linux.c
│ └── cap1206.h
│ ├── ADC
│ └── ADC0_GDx.h
│ ├── baseband
│ ├── HR_C5000.h
│ ├── radio_MD9600.cpp
│ ├── MCP4551.c
│ └── SKY72310.h
│ ├── backlight
│ └── backlight.h
│ ├── chSelector
│ └── chSelector.h
│ ├── SPI
│ └── spi_custom.c
│ └── CPS
│ └── cps_io_native_Mod17.c
├── openrtx
├── include
│ ├── fonts
│ │ ├── symbols
│ │ │ ├── sources
│ │ │ │ ├── call-made.svg
│ │ │ │ ├── call-received.svg
│ │ │ │ ├── wifi-strength-4.svg
│ │ │ │ ├── alpha-m-box-outline.svg
│ │ │ │ ├── network.svg
│ │ │ │ ├── lock.svg
│ │ │ │ ├── crosshairs.svg
│ │ │ │ ├── wifi-strength-3.svg
│ │ │ │ ├── wifi-strength-1.svg
│ │ │ │ ├── wifi-strength-2.svg
│ │ │ │ ├── crosshairs-gps.svg
│ │ │ │ ├── transmission-tower.svg
│ │ │ │ ├── access-point.svg
│ │ │ │ ├── cog.svg
│ │ │ │ └── LICENSE
│ │ │ ├── symbols.h
│ │ │ └── Symbols5pt7b.h
│ │ └── adafruit
│ │ │ └── gfxfont.h
│ ├── core
│ │ ├── battery.h
│ │ ├── crc.h
│ │ ├── beeps.h
│ │ ├── backup.h
│ │ ├── openrtx.h
│ │ ├── threads.h
│ │ ├── queue.h
│ │ ├── datatypes.h
│ │ ├── data_conversion.h
│ │ └── event.h
│ ├── peripherals
│ │ └── rng.h
│ ├── calibration
│ │ ├── calibInfo_CS7000.h
│ │ └── calibInfo_Mod17.h
│ └── protocols
│ │ └── M17
│ │ └── M17Constants.hpp
└── src
│ ├── core
│ ├── voicePromptData.S
│ └── crc.c
│ ├── protocols
│ └── M17
│ │ └── M17DSP.cpp
│ └── ui
│ └── default
│ └── ui_strings.c
├── meson_options.txt
├── 99-openrtx.rules
├── osx.txt
├── west.yml
├── .clang-format
├── .gitignore
├── cross_cm7.txt
└── cross_arm.txt
/lib/miosix-kernel/miosix/util/utf8test:
--------------------------------------------------------------------------------
1 | This is a test è ώ 𝄞
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # Sponsor OpenRTX
2 |
3 | liberapay: OpenRTX
4 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | pyusb
2 | meson
3 | ffmpeg
4 | cairosvg==2.7.1
5 | numpy==1.25.2
--------------------------------------------------------------------------------
/subprojects/packagefiles/XPowersLib/meson.build:
--------------------------------------------------------------------------------
1 | project('XPowersLib', 'cpp')
2 |
--------------------------------------------------------------------------------
/voiceprompts.vpc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/voiceprompts.vpc
--------------------------------------------------------------------------------
/scripts/bin2sgl.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/scripts/bin2sgl.exe
--------------------------------------------------------------------------------
/scripts/bin2sgl.Darwin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/scripts/bin2sgl.Darwin
--------------------------------------------------------------------------------
/.devcontainer/devcontainer.json:
--------------------------------------------------------------------------------
1 | {
2 | "build": {
3 | "dockerfile": "Dockerfile"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/scripts/bin2sgl.Linux.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/scripts/bin2sgl.Linux.bin
--------------------------------------------------------------------------------
/meta/sat_menu_dev.txt:
--------------------------------------------------------------------------------
1 | key enter down down down down down enter
2 | sleep 5000
3 | screenshot SAT.bmp
4 |
--------------------------------------------------------------------------------
/meta/ptt_test.txt:
--------------------------------------------------------------------------------
1 | sleep 3000
2 | screenshot noptt.bmp
3 | key 1 2 3
4 | ptt
5 | sleep 1000
6 | screenshot ptt.bmp
7 |
--------------------------------------------------------------------------------
/tests/unit/assets/M17_test_baseband.raw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/tests/unit/assets/M17_test_baseband.raw
--------------------------------------------------------------------------------
/tests/unit/assets/M17_test_baseband_dc.raw:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/tests/unit/assets/M17_test_baseband_dc.raw
--------------------------------------------------------------------------------
/scripts/openocd/mod17.cfg:
--------------------------------------------------------------------------------
1 | gdb_port 3333
2 |
3 | source [find interface/jlink.cfg]
4 |
5 | transport select swd
6 |
7 | source [find target/stm32f4x.cfg]
8 |
--------------------------------------------------------------------------------
/platform/mcu/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Tunas1337/OpenRTX/HEAD/platform/mcu/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h
--------------------------------------------------------------------------------
/lib/qdec/readme:
--------------------------------------------------------------------------------
1 | This is a plain C header library lightly adapted from the SimpleHacks QDEC library.
2 | Find the original source here: https://github.com/SimpleHacks/QDEC
3 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/call-made.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/call-received.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/subprojects/tinyusb.wrap:
--------------------------------------------------------------------------------
1 | [wrap-git]
2 | url = https://github.com/hathach/tinyusb.git
3 | revision = 4bfab30c02279a0530e1a56f4a7c539f2d35a293
4 | patch_directory = tinyusb
5 |
--------------------------------------------------------------------------------
/subprojects/XPowersLib.wrap:
--------------------------------------------------------------------------------
1 | [wrap-git]
2 | url = https://github.com/lewisxhe/XPowersLib.git
3 | revision = b0ed896c17d49a1b823ba0a6323cafd89b3a7d91
4 | patch_directory = XPowersLib
5 |
--------------------------------------------------------------------------------
/subprojects/radio_tool.wrap:
--------------------------------------------------------------------------------
1 | [wrap-git]
2 | url = https://github.com/v0l/radio_tool
3 | revision = head
4 | patch_directory = radio_tool
5 |
6 | [provide]
7 | program_names = radio_tool
8 |
--------------------------------------------------------------------------------
/meta/select_menu.txt:
--------------------------------------------------------------------------------
1 | key enter down down down down down enter
2 | sleep 1000
3 | key down enter
4 | sleep 5000
5 | nop sleep 1000
6 | nop key enter
7 | nop sleep 1000
8 | nop screenshot delta.bmp
9 |
10 |
--------------------------------------------------------------------------------
/subprojects/codec2.wrap:
--------------------------------------------------------------------------------
1 | [wrap-git]
2 | url = https://github.com/drowe67/codec2-dev
3 | revision = a298f3789d7ef9e829049ebe14da8845d97ba8c1
4 | patch_directory = codec2
5 |
6 | [provide]
7 | dependency_names = codec2
8 |
--------------------------------------------------------------------------------
/meta/menu_test.txt:
--------------------------------------------------------------------------------
1 | sleep 4000
2 | nop SAT menu
3 | key enter DOWN down down down down enter
4 | ready
5 | screenshot sat.bmp
6 | nop GPS menu
7 | key esc DOWN down down down enter
8 | ready
9 | screenshot gps.bmp
10 |
--------------------------------------------------------------------------------
/tests/unit/dummy.c:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main() {
4 | if (1) {
5 | printf("PASS!\n");
6 | return 0;
7 | } else {
8 | printf("FAIL!\n");
9 | return -1;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/wifi-strength-4.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/Kconfig.sysbuild:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: Apache-2.0
2 |
3 | choice BOOTLOADER
4 | default BOOTLOADER_MCUBOOT
5 | endchoice
6 |
7 | choice BOOT_SIGNATURE_TYPE
8 | default BOOT_SIGNATURE_TYPE_NONE
9 | endchoice
10 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/support/openocd.cfg:
--------------------------------------------------------------------------------
1 | set ESP_RTOS none
2 | set ESP32_ONLYCPU 1
3 |
4 | # Source the JTAG interface configuration file
5 | source [find interface/esp_usb_jtag.cfg]
6 | # Source the ESP32-S3 configuration file
7 | source [find target/esp32s3.cfg]
8 |
--------------------------------------------------------------------------------
/openrtx/src/core/voicePromptData.S:
--------------------------------------------------------------------------------
1 | #ifndef VP_USE_FILESYSTEM
2 | .section .note.GNU-stack,""
3 | .section .rodata
4 |
5 | .global _vpdata_start
6 | .global _vpdata_end
7 |
8 | _vpdata_start:
9 | .incbin "../voiceprompts.vpc"
10 |
11 | .set _vpdata_end, .
12 | #endif
13 |
--------------------------------------------------------------------------------
/scripts/bin2sgl.Linux:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
4 |
5 | if [ `uname -m` = "aarch64" ]; then
6 | qemu-x86_64 $SCRIPTPATH/bin2sgl.Linux.bin "$@"
7 | else
8 | $SCRIPTPATH/bin2sgl.Linux.bin "$@"
9 | fi
10 |
11 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/alpha-m-box-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/network.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/Kconfig.board:
--------------------------------------------------------------------------------
1 | # LilyGo T-TWR Plus board configuration
2 |
3 | # SPDX-License-Identifier: Apache-2.0
4 |
5 | config BOARD_TTWRPLUS
6 | bool "LilyGo T-TWR Plus Board"
7 | depends on SOC_SERIES_ESP32S3
8 |
9 | choice SOC_PART_NUMBER
10 | default SOC_ESP32S3_WROOM_N16R8
11 | endchoice
12 |
--------------------------------------------------------------------------------
/platform/mcu/MK22FN512xxx12/boot/arch_registers_impl.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef ARCH_REGISTERS_IMPL_H
3 | #define ARCH_REGISTERS_IMPL_H
4 |
5 | #include "MK22F51212.h"
6 | #include "core_cm4.h"
7 | #include "system_MK22F51212.h"
8 |
9 | #define RCC_SYNC() //Workaround for a bug in stm32f42x
10 |
11 | #endif //ARCH_REGISTERS_IMPL_H
12 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/README.md:
--------------------------------------------------------------------------------
1 |
2 | This repository contains an adapted version of the miosix kernel, tailored for the usage with the OpenRTX targets equipped with an ARM cortex M4 microcontroller.
3 |
4 | The original repository can be found here: [https://github.com/fedetft/miosix-kernel](https://github.com/fedetft/miosix-kernel)
5 |
6 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/lock.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/meson_options.txt:
--------------------------------------------------------------------------------
1 | option('asan', type : 'boolean', value : false, description : 'Compile the software with AddressSanitizer')
2 | option('ubsan', type : 'boolean', value : false, description : 'Compile the software with Undefined Behaviour Sanitizer')
3 | option('test', type: 'string', description: 'Replace the main OpenRTX source file with a specialized test')
4 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/crosshairs.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/wifi-strength-3.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/ttwrplus.yaml:
--------------------------------------------------------------------------------
1 | identifier: ttwrplus
2 | name: LilyGO T-TWR Plus
3 | type: mcu
4 | arch: xtensa
5 | toolchain:
6 | - zephyr
7 | supported:
8 | - gpio
9 | - uart
10 | - i2c
11 | - spi
12 | - counter
13 | - watchdog
14 | - entropy
15 | - pwm
16 | - dma
17 | testing:
18 | ignore_tags:
19 | - net
20 | - bluetooth
21 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/wifi-strength-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/wifi-strength-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/platform/mcu/STM32H7xx/boot/arch_registers_impl.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef ARCH_REGISTERS_IMPL_H
3 | #define ARCH_REGISTERS_IMPL_H
4 |
5 | //Always include stm32h7xx.h before core_cm4.h, there's some nasty dependency
6 | #include "stm32h7xx.h"
7 | #include "core_cm7.h"
8 | #include "system_stm32h7xx.h"
9 |
10 | #define RCC_SYNC() __DSB()
11 |
12 | #endif //ARCH_REGISTERS_IMPL_H
13 |
--------------------------------------------------------------------------------
/platform/mcu/STM32F4xx/boot/arch_registers_impl.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef ARCH_REGISTERS_IMPL_H
3 | #define ARCH_REGISTERS_IMPL_H
4 |
5 | //Always include stm32f4xx.h before core_cm4.h, there's some nasty dependency
6 | #include "stm32f4xx.h"
7 | #include "core_cm4.h"
8 | #include "system_stm32f4xx.h"
9 |
10 | #define RCC_SYNC() //Workaround for a bug in stm32f42x
11 |
12 | #endif //ARCH_REGISTERS_IMPL_H
13 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/util/crc16.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef CRC16_H
3 | #define CRC16_H
4 |
5 | namespace miosix {
6 |
7 | /**
8 | * Calculate the ccitt crc16 on a string of bytes
9 | * \param message string of bytes
10 | * \param length message length
11 | * \return the crc16
12 | */
13 | unsigned short crc16(const void *message, unsigned int length);
14 |
15 | } //namespace miosix
16 |
17 | #endif //CRC16_H
18 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/crosshairs-gps.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/board.cmake:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: Apache-2.0
2 |
3 | if(NOT "${OPENOCD}" MATCHES "^${ESPRESSIF_TOOLCHAIN_PATH}/.*")
4 | set(OPENOCD OPENOCD-NOTFOUND)
5 | endif()
6 | find_program(OPENOCD openocd PATHS ${ESPRESSIF_TOOLCHAIN_PATH}/openocd-esp32/bin NO_DEFAULT_PATH)
7 |
8 | include(${ZEPHYR_BASE}/boards/common/esp32.board.cmake)
9 | include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
10 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/Kconfig.defconfig:
--------------------------------------------------------------------------------
1 | # LilyGo T-TWR Plus board configuration
2 |
3 | # SPDX-License-Identifier: Apache-2.0
4 |
5 | config BOARD
6 | default "ttwrplus"
7 | depends on BOARD_TTWRPLUS
8 |
9 | config ENTROPY_GENERATOR
10 | default y
11 |
12 | config HEAP_MEM_POOL_SIZE
13 | default 98304 if WIFI
14 | default 40960 if BT
15 | default 4096
16 |
17 | choice BT_HCI_BUS_TYPE
18 | default BT_ESP32 if BT
19 | endchoice
20 |
--------------------------------------------------------------------------------
/meta/readme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | uidev:
5 | meson compile -C build_linux openrtx_linux
6 | cat sat_menu_dev.txt | build_linux/openrtx_linux
7 | convert SAT.bmp -resize 600% SAT.jpg
8 |
9 |
10 | valgrind:
11 | meson compile -C build_linux openrtx_linux
12 | cat leak_check.txt | valgrind --leak-check=full --log-file=valgrind.log build_linux/openrtx_linux
13 | record:
14 | meson compile -C build_linux openrtx_linux
15 | cat record_demo.txt | build_linux/openrtx_linux
16 |
17 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/arch/cortexM0/arch_registers_impl.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef ARCH_REGISTERS_IMPL_H
3 | #define ARCH_REGISTERS_IMPL_H
4 |
5 | //Always include stm32f0xx.h before core_cm0.h, there's some nasty dependency
6 | #include "CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
7 | #include "CMSIS/Include/core_cm0.h"
8 | #include "CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
9 |
10 | #define RCC_SYNC() //Workaround for a bug in stm32f42x
11 |
12 | #endif //ARCH_REGISTERS_IMPL_H
13 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/arch/cortexM3/arch_registers_impl.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef ARCH_REGISTERS_IMPL_H
3 | #define ARCH_REGISTERS_IMPL_H
4 |
5 | //Always include stm32f10x.h before core_cm3.h, there's some nasty dependency
6 | #include "CMSIS/Device/ST/STM32F10x/Include/stm32f10x.h"
7 | #include "CMSIS/Include/core_cm3.h"
8 | #include "CMSIS/Device/ST/STM32F10x/Include/system_stm32f10x.h"
9 |
10 | #define RCC_SYNC() //Workaround for a bug in stm32f42x
11 |
12 | #endif //ARCH_REGISTERS_IMPL_H
13 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/miosix.h:
--------------------------------------------------------------------------------
1 |
2 | //Common #include are grouped here for ease of use
3 |
4 | #ifndef MIOSIX_H
5 | #define MIOSIX_H
6 |
7 | /* Hardware */
8 | #include "interfaces/arch_registers.h"
9 | #include "interfaces/bsp.h"
10 | /* Miosix kernel */
11 | #include "kernel/kernel.h"
12 | #include "kernel/sync.h"
13 | #include "kernel/queue.h"
14 | /* Utilities */
15 | #include "util/util.h"
16 | /* Settings */
17 | #include "config/miosix_settings.h"
18 |
19 | #endif //MIOSIX_H
20 |
--------------------------------------------------------------------------------
/scripts/plot_m17_demod_csv2.py:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env python3
2 |
3 | import pandas as pd
4 | from matplotlib import pyplot as plt
5 | from sys import argv
6 |
7 | plt.rcParams["figure.autolayout"] = True
8 | df = pd.read_csv(argv[1])
9 | #df = df.head(n=10000)
10 | print("Contents in csv file:\n", df)
11 | plt.plot(df.index, df.RRCSignal)
12 | plt.plot(df.index, df.SyncDetect)
13 | plt.plot(df.index, df.QntMax)
14 | plt.plot(df.index, df.QntMin)
15 | plt.plot(df.index, df.Symbol)
16 | plt.show()
17 |
--------------------------------------------------------------------------------
/scripts/openocd/stm32f4.cfg:
--------------------------------------------------------------------------------
1 | #
2 | # OpenOCD configuration file for in-circuit debugging the stm32f4discovery
3 | # To start debugging issue those commands:
4 | # arm-miosix-eabi-gdb main.elf
5 | # target remote :3333
6 | # monitor reset halt
7 | # load
8 | # break main
9 | # continue
10 | #
11 |
12 | # Daemon configuration
13 | telnet_port 4444
14 | gdb_port 3333
15 |
16 | # Board support is available in newer oocd
17 | source [find board/stm32f4discovery.cfg]
18 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/transmission-tower.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/arch/common/core/memory_protection.h:
--------------------------------------------------------------------------------
1 |
2 | //MPU code is common for all the cortex M cores, so it has been put here
3 |
4 | #ifndef MEMORY_PROTECTION_H
5 | #define MEMORY_PROTECTION_H
6 |
7 | #if defined(_ARCH_CORTEXM3_STM32F2) || defined(_ARCH_CORTEXM4_STM32F4) \
8 | || defined(_ARCH_CORTEXM7_STM32F7) || defined(_ARCH_CORTEXM7_STM32H7) \
9 | || defined(_ARCH_CORTEXM3_EFM32GG) || defined(_ARCH_CORTEXM4_STM32L4)
10 | #include "mpu_cortexMx.h"
11 | #endif
12 |
13 | #endif //MEMORY_PROTECTION_H
14 |
--------------------------------------------------------------------------------
/99-openrtx.rules:
--------------------------------------------------------------------------------
1 | # udev rules for DFU mode on radios supported by OpenRTX
2 | # Place this in /etc/udev/rules.d/ to let non-root users talk to the radios.
3 |
4 | # GDx family (example: Radioddity GD77)
5 | SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
6 | # MDx family (example: Tytera MD380)
7 | SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0666"
8 | # Module17 (GigaDevice GD32 support)
9 | SUBSYSTEM=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", MODE="0666"
10 |
--------------------------------------------------------------------------------
/lib/minmea/COPYING:
--------------------------------------------------------------------------------
1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2 | Version 2, December 2004
3 |
4 | Copyright (C) 2004 Sam Hocevar
5 |
6 | Everyone is permitted to copy and distribute verbatim or modified
7 | copies of this license document, and changing it is allowed as long
8 | as the name is changed.
9 |
10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12 |
13 | 0. You just DO WHAT THE FUCK YOU WANT TO.
14 |
--------------------------------------------------------------------------------
/osx.txt:
--------------------------------------------------------------------------------
1 | # deps: brew install gcc@9 codec2 binutils
2 | [binaries]
3 | c = 'gcc-9'
4 | cpp = 'g++-9'
5 | #ld = 'ld'
6 | ar = 'gcc-ar-9'
7 | #as = 'as'
8 | size = '/usr/local/opt/binutils/bin/gsize'
9 | objdump = '/usr/local/opt/binutils/bin/objdump'
10 | objcopy = '/usr/local/opt/binutils/bin/objcopy'
11 | #strip = 'arm-miosix-eabi-strip'
12 | #gdb = 'arm-miosix-eabi-gdb'
13 | #terminal= 'x-terminal-emulator'
14 | #openocd = '/usr/local/bin/openocd'
15 |
16 | [properties]
17 | c_args = ['-I/usr/local/include']
18 | cpp_args = ['-I/usr/local/include']
19 |
--------------------------------------------------------------------------------
/platform/mcu/ESP32S3/zephyr.conf:
--------------------------------------------------------------------------------
1 | CONFIG_POSIX_CLOCK=y
2 | CONFIG_PTHREAD_IPC=y
3 | CONFIG_CPP=y
4 | CONFIG_REQUIRES_FULL_LIBCPP=y
5 | CONFIG_STD_CPP14=y
6 | CONFIG_PRINTK=y
7 | CONFIG_PRINTK_SYNC=y
8 | CONFIG_LOG=y
9 | CONFIG_LOG_PRINTK=y
10 | CONFIG_LOG_MODE_IMMEDIATE=y
11 | CONFIG_XTENSA_RESET_VECTOR=n
12 | CONFIG_SOC_ESP32S3=y
13 | CONFIG_MAIN_STACK_SIZE=2048
14 | CONFIG_XTENSA_USE_CORE_CRT1=n
15 | CONFIG_CONSOLE=y
16 | CONFIG_SERIAL=y
17 | CONFIG_UART_CONSOLE=y
18 | CONFIG_GPIO=y
19 | CONFIG_GEN_ISR_TABLES=y
20 | CONFIG_GEN_IRQ_VECTOR_TABLE=n
21 | CONFIG_CLOCK_CONTROL=y
22 | CONFIG_I2C=y
23 | CONFIG_NEWLIB_LIBC=y
24 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/symbols.h:
--------------------------------------------------------------------------------
1 | // This is a generated file, please do not edit it! Use generate_symbols.py
2 | typedef enum {
3 | SYMBOL_SPACE = 32,
4 | SYMBOL_ACCESS_POINT = 33,
5 | SYMBOL_ALPHA_M_BOX_OUTLINE = 34,
6 | SYMBOL_CALL_MADE = 35,
7 | SYMBOL_CALL_RECEIVED = 36,
8 | SYMBOL_COG = 37,
9 | SYMBOL_CROSSHAIRS_GPS = 38,
10 | SYMBOL_CROSSHAIRS = 39,
11 | SYMBOL_LOCK = 40,
12 | SYMBOL_NETWORK = 41,
13 | SYMBOL_TRANSMISSION_TOWER = 42,
14 | SYMBOL_WIFI_STRENGTH_1 = 43,
15 | SYMBOL_WIFI_STRENGTH_2 = 44,
16 | SYMBOL_WIFI_STRENGTH_3 = 45,
17 | SYMBOL_WIFI_STRENGTH_4 = 46,
18 | } symbol_t;
19 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/arch/common/core/interrupts.h:
--------------------------------------------------------------------------------
1 |
2 | //Interrupt code is common for all the cortex M cores, so it has been put here
3 |
4 | #ifdef _ARCH_ARM7_LPC2000
5 | #include "interrupts_arm7.h"
6 | #elif defined(_ARCH_CORTEXM0) || defined(_ARCH_CORTEXM3) \
7 | || defined(_ARCH_CORTEXM4) || defined(_ARCH_CORTEXM7)
8 | #include "interrupts_cortexMx.h"
9 | #else
10 | #error "Unknown arch"
11 | #endif
12 |
13 | // Cortex M0 and M0+ does not have some SCB registers, in order to avoid
14 | // compilation issues a flag is defined to disable code that accesses to
15 | // registers not present in these families
16 |
17 | #if defined(_ARCH_CORTEXM0_STM32)
18 | #define _ARCH_CORTEXM0
19 | #endif
20 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/access-point.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/platform/targets/ttwrplus/ttwrplus_defconfig:
--------------------------------------------------------------------------------
1 | CONFIG_SOC_SERIES_ESP32S3=y
2 | CONFIG_DISPLAY=y
3 | CONFIG_SSD1306=y
4 | CONFIG_THREAD_STACK_INFO=y
5 | CONFIG_DYNAMIC_THREAD=y
6 | CONFIG_DYNAMIC_THREAD_STACK_SIZE=4096
7 | CONFIG_DYNAMIC_THREAD_PREFER_POOL=y
8 | CONFIG_DYNAMIC_THREAD_POOL_SIZE=4
9 | CONFIG_COMMON_LIBC_MALLOC=y
10 | CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=131072
11 | CONFIG_INPUT=y
12 | CONFIG_INPUT_GPIO_KEYS=y
13 | CONFIG_SENSOR=y
14 | CONFIG_SERIAL=y
15 | CONFIG_UART_INTERRUPT_DRIVEN=y
16 | CONFIG_UART_USE_RUNTIME_CONFIGURE=y
17 | CONFIG_ASSERT=y
18 | CONFIG_SPI=y
19 | CONFIG_LED_STRIP=y
20 | CONFIG_WS2812_STRIP=y
21 | CONFIG_WS2812_STRIP_SPI=y
22 | CONFIG_POSIX_API=y
23 | CONFIG_FLASH=y
24 | CONFIG_FLASH_MAP=y
25 | CONFIG_SOC_FLASH_ESP32=y
26 |
--------------------------------------------------------------------------------
/west.yml:
--------------------------------------------------------------------------------
1 | manifest:
2 | self:
3 | path: OpenRTX
4 |
5 | defaults:
6 | remote: zephyr
7 |
8 | remotes:
9 | - name: zephyr
10 | url-base: https://github.com/zephyrproject-rtos
11 |
12 | projects:
13 | - name: zephyr
14 | revision: a4de2eb3d1756c445d2e2ecb72e6d562674c118b
15 | path: zephyr
16 | west-commands: scripts/west-commands.yml
17 | import: submanifests
18 |
19 | - name: mcuboot
20 | revision: 9bf7ce8c5fe8152836a6e00bd4444153bd950342
21 | path: bootloader/mcuboot
22 |
23 | - name: hal_espressif
24 | revision: 80d910ca89eab9bce03f59a4ade33f1fc30ce0ad
25 | path: modules/hal/espressif
26 | west-commands: west/west-commands.yml
27 | groups:
28 | - hal
29 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/arch/common/drivers/serial.h:
--------------------------------------------------------------------------------
1 |
2 | //Serial code is common for all the cortex M cores, so it has been put here
3 |
4 | #ifdef _ARCH_ARM7_LPC2000
5 | #include "serial_lpc2000.h"
6 | #elif defined(_ARCH_CORTEXM0_STM32) || defined(_ARCH_CORTEXM3_STM32) \
7 | || defined(_ARCH_CORTEXM4_STM32F4) || defined(_ARCH_CORTEXM3_STM32F2) \
8 | || defined(_ARCH_CORTEXM3_STM32L1) || defined(_ARCH_CORTEXM7_STM32F7) \
9 | || defined(_ARCH_CORTEXM7_STM32H7) || defined(_ARCH_CORTEXM4_STM32F3) \
10 | || defined(_ARCH_CORTEXM4_STM32L4)
11 | #include "serial_stm32.h"
12 | #elif defined(_ARCH_CORTEXM3_EFM32GG)
13 | #include "serial_efm32.h"
14 | #elif defined(_ARCH_CORTEXM4_ATSAM4L)
15 | #include "serial_atsam4l.h"
16 | #else
17 | #error "Unknown arch"
18 | #endif
19 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/filesystem/fat32/integer.h:
--------------------------------------------------------------------------------
1 | /*-------------------------------------------*/
2 | /* Integer type definitions for FatFs module */
3 | /*-------------------------------------------*/
4 |
5 | #ifndef _FF_INTEGER
6 | #define _FF_INTEGER
7 |
8 | #ifdef _WIN32 /* FatFs development platform */
9 |
10 | #include
11 | #include
12 |
13 | #else /* Embedded platform */
14 |
15 | /* This type MUST be 8 bit */
16 | typedef unsigned char BYTE;
17 |
18 | /* These types MUST be 16 bit */
19 | typedef short SHORT;
20 | typedef unsigned short WORD;
21 | typedef unsigned short WCHAR;
22 |
23 | /* These types MUST be 16 bit or 32 bit */
24 | typedef int INT;
25 | typedef unsigned int UINT;
26 |
27 | /* These types MUST be 32 bit */
28 | typedef long LONG;
29 | typedef unsigned long DWORD;
30 |
31 | #endif
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/scripts/plot_m17_demod_csv.py:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env python3
2 |
3 | import pandas as pd
4 | from matplotlib import pyplot as plt
5 | from sys import argv
6 |
7 | plt.rcParams["figure.autolayout"] = True
8 | df = pd.read_csv(argv[1])
9 | print("Contents in csv file:\n", df)
10 | plt.plot(df.index, df.Sample, label="Sample")
11 | plt.plot(df.index, df.Convolution / 10, label="Conv")
12 | plt.plot(df.index, df.Threshold / 10, label="Conv. Th+")
13 | plt.plot(df.index, df.Threshold * -1 / 10, label="Conv. Th-")
14 | plt.plot(df.index, df.Index, label="Index")
15 | plt.plot(df.index, df.Max, label="Qnt. avg. +")
16 | plt.plot(df.index, df.Min, label="Qnt. avg. -")
17 | plt.plot(df.index, df.Symbol * 10, label="Symbol")
18 | plt.plot(df.index, df.I, label="I")
19 | plt.plot(df.index, df.Flags * 100, label="Flags")
20 | plt.grid(True)
21 | plt.legend(loc="upper left")
22 | plt.suptitle(argv[1])
23 | plt.show()
24 |
--------------------------------------------------------------------------------
/openrtx/include/fonts/symbols/sources/cog.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/miosix-kernel/miosix/kernel/SystemMap.h:
--------------------------------------------------------------------------------
1 | #ifndef SYSTEMMAP_H
2 | #define SYSTEMMAP_H
3 |
4 | #include "kernel/sync.h"
5 | #include "config/miosix_settings.h"
6 |
7 | #include