added possibility to work with individual toolchains

pull/4/head
DF8OE 2018-08-12 17:51:30 +02:00
rodzic 41d8d2d25f
commit 936c455b19
3 zmienionych plików z 229 dodań i 2 usunięć

Wyświetl plik

@ -1,3 +1,18 @@
# If you want to hold different toolchains on Linux in /opt you can get them from
# https://launchpad.net/gcc-arm-embedded . Copy unpacked files as 'root' to /opt .
# If you want to use other toolchain than system-wide installed proceed as following:
# Type on a terminal
# export OPT_GCC_ARM=/opt/folder-of-your-toolchain
# Now 'make all' uses choosen toolchain instead of system wide installed.
# If yu want to switch back to system wide type
# export OPT_GCC_ARM=
ifdef OPT_GCC_ARM
PREFIX = $(OPT_GCC_ARM)/bin/
else
PREFIX = /usr/bin/
endif
##############################################################################
# Build global options
# NOTE: Can be overridden externally.
@ -177,7 +192,7 @@ INCDIR = $(ALLINC) $(TESTINC)
MCU = cortex-m4
#TRGT = arm-elf-
TRGT = arm-none-eabi-
TRGT = $(PREFIX)arm-none-eabi-
CC = $(TRGT)gcc
CPPC = $(TRGT)g++
# Enable loading with g++ only if you need C++ runtime support.

Wyświetl plik

@ -1,3 +1,18 @@
# If you want to hold different toolchains on Linux in /opt you can get them from
# https://launchpad.net/gcc-arm-embedded . Copy unpacked files as 'root' to /opt .
# If you want to use other toolchain than system-wide installed proceed as following:
# Type on a terminal
# export OPT_GCC_ARM=/opt/folder-of-your-toolchain
# Now 'make all' uses choosen toolchain instead of system wide installed.
# If yu want to switch back to system wide type
# export OPT_GCC_ARM=
ifdef OPT_GCC_ARM
PREFIX = $(OPT_GCC_ARM)/bin/
else
PREFIX = /usr/bin/
endif
##############################################################################
# Build global options
# NOTE: Can be overridden externally.
@ -177,7 +192,7 @@ INCDIR = $(ALLINC) $(TESTINC)
MCU = cortex-m4
#TRGT = arm-elf-
TRGT = arm-none-eabi-
TRGT = $(PREFIX)arm-none-eabi-
CC = $(TRGT)gcc
CPPC = $(TRGT)g++
# Enable loading with g++ only if you need C++ runtime support.

Wyświetl plik

@ -0,0 +1,197 @@
/**
* Put your configuration settings here. See description of all fields in types.h
*/
#include "config.h"
#include "aprs.h"
#include "geofence.h"
conf_t conf_sram;
const conf_t conf_flash_default = {
// Primary position app
.pos_pri = {
.beacon = {
.active = false,
.cycle = TIME_S2I(60 * 5),
.init_delay = TIME_S2I(60),
.fixed = false // Add lat, lon, alt fields when enabling fixed
},
.radio_conf = {
.pwr = 0x1F,
.freq = 144860000,
.mod = MOD_2FSK,
.cca = 0x4F,
},
// App identity
.call = "DL0CPS-11",
.path = "WIDE1-1",
.symbol = SYM_BALLOON,
.aprs_msg = true, // Enable APRS message reception on this app
},
// Secondary position app
.pos_sec = {
.beacon = {
.active = false,
.cycle = TIME_S2I(60 * 30), // Beacon interval
.init_delay = TIME_S2I(60),
.fixed = true, // Add lat, lon alt fields when enabling fixed
.lat = -337331175, // Degrees (expressed in 1e-7 form)
.lon = 1511143478, // Degrees (expressed in 1e-7 form)
.alt = 144 // Altitude in metres
},
.radio_conf = {
.pwr = 0x7F,
.freq = FREQ_APRS_RECEIVE,
.mod = MOD_AFSK,
.cca = 0x4F
},
// App identity
.call = "DL0CPS-5",
.path = "WIDE2-1",
.symbol = SYM_DIGIPEATER,
.aprs_msg = false, // Enable APRS message reception on this app
},
// Primary image app
.img_pri = {
.svc_conf = {
.active = false,
.cycle = TIME_S2I(60 * 5),
.init_delay = TIME_S2I(60 * 1),
.send_spacing = TIME_S2I(5)
},
.radio_conf = {
.pwr = 0x7F,
.freq = 144860000,
.mod = MOD_2FSK,
.cca = 0x4F
},
// App identity
.call = "DL0CPS-15",
.path = "",
// Image settings
.res = RES_VGA,
.quality = 4,
.buf_size = 40 * 1024,
.redundantTx = false
},
// Secondary image app
.img_sec = {
.svc_conf = {
.active = false,
.cycle = TIME_S2I(60 * 15),
.init_delay = TIME_S2I(15 * 1),
.send_spacing = TIME_S2I(2)
},
.radio_conf = {
.pwr = 0x1F,
.freq = 144860000,
.mod = MOD_2FSK,
.cca = 0x4F
},
// App identity
.call = "DL0CPS-12",
.path = "",
// Image settings
.res = RES_QVGA,
.quality = 4,
.buf_size = 15 * 1024,
.redundantTx = false
},
// Log app
.log = {
.svc_conf = {
.active = false,
.cycle = TIME_S2I(10),
.init_delay = TIME_S2I(5)
},
.radio_conf = {
.pwr = 0x7F,
.freq = 144860000,
.mod = MOD_2FSK,
.cca = 0x4F
},
// Node identity
.call = "DL0CPS-11",
.path = "WIDE1-1",
.density = 10
},
// APRS app
.aprs = {
// The receive identity for APRS
.rx = {
.svc_conf = {
// The packet receive service is enabled if true
// Receive is paused and resumed by transmission
.active = true,
.init_delay = TIME_S2I(20)
},
// Receive radio configuration
.radio_conf = {
.freq = 144840000,
.mod = MOD_AFSK,
.rssi = 0x3F
},
// APRS identity used in message responses if digipeat is not enabled
.call = "DL0CPS-4",
.symbol = SYM_ANTENNA
},
.aprs_msg = false, // Set true to enable messages to be accepted on RX call sign
.digi = true,
.tx = {
// Transmit radio configuration
.radio_conf = {
.freq = FREQ_APRS_RECEIVE,
.pwr = 0x7F,
.mod = MOD_AFSK,
.cca = 0x4F
},
// Digipeat transmission identity
.call = "VK2GJ-5",
.path = "WIDE2-1",
.symbol = SYM_DIGIPEATER,
// A digipeater beacon can be added using one of the POS apps
// Set the POS identity the same as the dipipeater TX identity
// Alternatively the digipeater can have its own .beacon entry here
},
},
// Global controls
// Power control
.keep_cam_switched_on = false,
.gps_on_vbat = 3600, // mV
.gps_off_vbat = 3400, // mV
.gps_onper_vbat = 4000, // mV
// GPS altitude model control (air pressure controlled using on-board BME280)
.gps_pressure = 90000, // Air pressure (Pa) threshold for alt model switch
.gps_low_alt = GPS_STATIONARY,
.gps_high_alt = GPS_AIRBORNE_1G,
// APRS
// How often to send telemetry config (global for beacons)
.tel_enc_cycle = TIME_S2I(60 * 60 * 2),
// The default APRS frequency when geofence is not resolved
.freq = 144860000,
// The base station identity.
.base = {
// If enabled tracker initiated APRS messages are addressed to this call sign
.enabled = true,
.call = "DL0CPS-7",
.path = "WIDE2-1",
},
.magic = CONFIG_MAGIC_DEFAULT // Do not remove. This is the activation bit.
};