Skip to content

Commit

Permalink
fixed the startup display location if you power off right after cross…
Browse files Browse the repository at this point in the history
…ing a 6-digit grid boundary
  • Loading branch information
barry-ha committed Jan 22, 2024
1 parent 83b40e1 commit 4012d9b
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 11 deletions.
15 changes: 10 additions & 5 deletions .vscode/c_cpp_properties.json
Expand Up @@ -8,11 +8,13 @@
"intelliSenseMode": "windows-msvc-x64",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/Griduino/**"
"C:/Users/barry/Documents/Arduino/libraries/Adafruit_GFX_library",
"C:/Users/barry/Documents/Arduino/libraries/Adafruit_GPS_library/**",
"C:/Users/barry/Documents/Arduino/libraries/Adafruit_ILI9341",
"C:/Users/barry/Documents/Arduino/libraries/Adafruit_NeoPixel",
"C:/Users/barry/Documents/Arduino/libraries/DS1804/src",
"C:/Users/barry/Documents/Arduino/libraries/elapsedMillis",
"C:/Users/barry/Documents/Arduino/libraries/Time"
],
"forcedInclude": [],
Expand Down Expand Up @@ -49,14 +51,17 @@
"C:\\Users\\barry\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\CMSIS-Atmel\\1.2.2\\CMSIS\\Device\\ATMEL\\",
"C:\\Users\\barry\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.7.10\\cores\\arduino",
"C:\\Users\\barry\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.7.10\\variants\\feather_m4",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_ILI9341",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_BusIO",
"C:\\Users\\barry\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.7.10\\libraries\\Wire",
"C:\\Users\\barry\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.7.10\\libraries\\SPI",
"C:\\Users\\barry\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.7.10\\libraries\\Adafruit_ZeroDMA",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\elapsedMillis",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_BusIO",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_ILI9341",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Adafruit_MCP4725",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\Audio_QSPI",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\DS1804",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\elapsedMillis",
"C:\\Users\\barry\\Documents\\Arduino\\libraries\\SdFat_-_Adafruit_Fork",
"c:\\users\\barry\\appdata\\local\\arduino15\\packages\\adafruit\\tools\\arm-none-eabi-gcc\\9-2019q4\\arm-none-eabi\\include\\c++\\9.2.1",
"c:\\users\\barry\\appdata\\local\\arduino15\\packages\\adafruit\\tools\\arm-none-eabi-gcc\\9-2019q4\\arm-none-eabi\\include\\c++\\9.2.1\\arm-none-eabi",
"c:\\users\\barry\\appdata\\local\\arduino15\\packages\\adafruit\\tools\\arm-none-eabi-gcc\\9-2019q4\\arm-none-eabi\\include\\c++\\9.2.1\\backward",
Expand All @@ -72,7 +77,7 @@
"defines": [
"__SKETCH_NAME__=\"\"\"DAC_rp2040_sine_wave_with_TPL0401_volume_control.ino\"\"\"",
"F_CPU=120000000L",
"ARDUINO=10819",
"ARDUINO=10607",
"ARDUINO_FEATHER_M4",
"ARDUINO_ARCH_SAMD",
"ARDUINO_SAMD_ADAFRUIT",
Expand Down
11 changes: 10 additions & 1 deletion .vscode/settings.json
Expand Up @@ -2,5 +2,14 @@
"cSpell.words": [
"quectel"
],
"cmake.configureOnOpen": true
"cmake.configureOnOpen": true,
"files.associations": {
"initializer_list": "cpp",
"list": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"xhash": "cpp",
"xstring": "cpp",
"xutility": "cpp"
}
}
7 changes: 5 additions & 2 deletions Griduino.ino
Expand Up @@ -773,13 +773,11 @@ void setup() {
pinMode(RED_LED, OUTPUT); // diagnostics RED LED

// ----- restore GPS driving track breadcrumb trail
logger.fencepost("Griduino.ino restore",__LINE__); // debug
trail.restoreGPSBreadcrumbTrail(); // this takes noticeable time (~0.2 sec)
model->restore(); //
model->gHaveGPSfix = false; // assume no satellite signal yet
model->gSatellites = 0;
trail.rememberPUP(); // log a "power up" event
logger.fencepost("Griduino.ino save after restore",__LINE__); // debug
trail.saveGPSBreadcrumbTrail(); // ensure its saved for posterity

// ----- restore barometric pressure history
Expand Down Expand Up @@ -968,6 +966,8 @@ void loop() {
logger.fencepost("Griduino.ino new grid4",__LINE__); // debug
trail.saveGPSBreadcrumbTrail();

model->save(); // tell the model to save itself

} else if (model->enteredNewGrid6()) {
if (!model->compare4digits) {
announceGrid(newGrid6, 6); // announce with Morse code or speech, according to user's config
Expand All @@ -978,6 +978,9 @@ void loop() {
logger.fencepost("Griduino.ino new grid6",__LINE__); // debug
trail.saveGPSBreadcrumbTrail(); // because one user's home was barely in the next grid6
// and we want to show his grid6 at next power up
// ALSO when entering a 6-digit grid: tell the model to save itself!
// It's the _model_ that puts up the starting location at next power-up
model->save();
}

// if we drove far enough, add this to the breadcrumb trail
Expand Down
Binary file added downloads/TouchScopeAdafruit.uf2
Binary file not shown.
Binary file added downloads/TouchScopeBarry.uf2
Binary file not shown.
6 changes: 3 additions & 3 deletions examples/AutoGridCL/AutoGridCL.py
Expand Up @@ -6,7 +6,7 @@

# ---------- Start: manual edit ---------------------------------------
# Windows communications port for Griduino or GPS hardware
GPS_PORT = "COM53"
GPS_PORT = "COM8"
GPS_RATE = 115200

# WSJT-X UDP multicast settings
Expand Down Expand Up @@ -150,7 +150,7 @@ def GPGGA_to_grid(cls, GPGGAText):
# ---------------------------------------------------------------------

import struct
import datetime
from datetime import datetime, timedelta

class PacketUtil:
@classmethod
Expand Down Expand Up @@ -379,7 +379,7 @@ def __init__(self, addr_port, magic, schema, pkt_type, id, pkt):
self.wsjtx_id = ps.QString()
self.new_decode = ps.QInt8()
self.millis_since_midnight = ps.QInt32()
self.time = PacketUtil.midnight_utc() + datetime.timedelta(milliseconds=self.millis_since_midnight)
self.time = PacketUtil.midnight_utc() + timedelta(milliseconds=self.millis_since_midnight)
self.snr = ps.QInt32()
self.delta_t = ps.QFloat()
self.delta_f = ps.QInt32()
Expand Down
11 changes: 11 additions & 0 deletions makeScopeUF2.bat
@@ -0,0 +1,11 @@
%echo off
echo Batch job to prepare TFT_Touch_Scope pre-compiled binary UF2 file
echo Usage: makeUF2 release
echo Example: makeUF2 Barry
echo .

cd %USERPROFILE%
cd Documents\Arduino\Griduino
py uf2conv.py -c -b 0x4000 -o downloads/Scope%1.uf2 build/adafruit.samd.adafruit_feather_m4/Scope.ino.bin

echo Done.

0 comments on commit 4012d9b

Please sign in to comment.