Change README.md + better way to alternate BT symbols

This commit is contained in:
Valentin Saugnier 2023-08-09 16:46:14 +02:00
parent fe12218222
commit 747aec3089
2 changed files with 38 additions and 13 deletions

View File

@ -46,8 +46,36 @@ on the Menu 3:
- 1 long press/push = Change Display Eco Mode (Turn off after 4 seg).
- 2 short press/pushes = Menu 0 (back to the Tracker Screen).
____________________________________________________
# BLUETOOTH EXPLANATION (**Only for Android**)
## APRSDroid
- Pair your phone with the tracker. Its name is "Lora Tracker XXXX"
- Install [APRSDroid](https://aprsdroid.org/) app
- Open app and go to Settings and click on connection preferences
- Protocol : TNC2 or Kiss
- Type : BLuetooth SPP
- Module : Select our tracker name
- Tadam !
## ShareGps (NMEA)
- Pair your phone with the tracker. Its name is "Lora Tracker XXXX"
- Install [ShareGPS](https://play.google.com/store/apps/details?id=com.jillybunch.shareGPS&pcampaignid=web_share) app
- Open app and go to Connections tab
- Click on add button
- Choose NMEA as Data Type
- Choose Bluetooth as Connectoin Method
- Name it and click next to set you tracker
- To connect to it : long press on the connection name and click connect
- BT is listening, repeat the operation a second time to initiate the connection
- Tadam !
____________________________________________________
Timeline (Versions):
- 2023.08.09 Adding Bluetooth capabilities with Kiss and TNC2, TTGO Lora 32
- 2023.04.16 Sending and Receiving LoRa Packets.
- 2023.05.12 Saving Messages to Internal Memory.
- 2023.05.14 Adding Menu.
@ -65,10 +93,12 @@ Timeline (Versions):
- 2023.07.18 Add Support for triggering PTT to external amplifier.
- 2023.07.24 New Validation for Callsings, Overlay change and New Icons (Bike, Motorcycle).
____________________________________________________
This code was based on the work by OE5BPA LoRa Tracker, Serge Y. Stroobandt, ON4AA in the byte-saving part of the APRS 434 firmware and Manfred DC2MH (Mane76) with the mods for multiple Callsigns and processor speed.
- https://github.com/aprs434/lora.tracker
- https://github.com/lora-aprs/LoRa_APRS_Tracker
- https://github.com/Mane76/LoRa_APRS_Tracker
This code was based on the work of :
- Serge Y. Stroobandt : base91 and others ideas
- https://github.com/aprs434/lora.tracker : ON4AA in the byte-saving part of the APRS 434 firmware
- https://github.com/lora-aprs/LoRa_APRS_Tracker : OE5BPA LoRa Tracker
- https://github.com/Mane76/LoRa_APRS_Tracker : Manfred DC2MH (Mane76) with the mods for multiple Callsigns and processor speed
- https://github.com/dl9sau/TTGO-T-Beam-LoRa-APRS : DL9SAU for the Kiss <> TNC2 lib
____________________________________________________
# Hope You Enjoy this, 73 !! CD2RXU , Valparaiso, Chile

View File

@ -1,12 +1,12 @@
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <logger.h>
#include <Wire.h>
#include "custom_characters.h"
#include "configuration.h"
#include "pins_config.h"
#include "display.h"
#include "TimeLib.h"
#define SYM_HEIGHT 14
#define SYM_WIDTH 16
@ -21,8 +21,6 @@ String symbolArray[10] = {"[", ">", "j", "b", "<", "s", "u", "R", "v"};
int symbolArraySize = sizeof(symbolArray)/sizeof(symbolArray[0]);
const uint8_t *symbolsAPRS[] = {runnerSymbol, carSymbol, jeepSymbol, bikeSymbol, motorcycleSymbol, shipSymbol, truckSymbol, recreationalVehicleSymbol, vanSymbol};
uint32_t symbolTime = millis();
// T-Beams bought with soldered OLED Screen comes with only 4 pins (VCC, GND, SDA, SCL)
// If your board didn't come with 4 pins OLED Screen and comes with 5 and one of them is RST...
// Uncomment Next Line (Remember ONLY if your OLED Screen has a RST pin). This is to avoid memory issues.
@ -187,11 +185,12 @@ void show_display(String header, String line1, String line2, String line3, Strin
}
/*
* Symbol alternate every 2.5s (+/- 500ms due to 1s tick of display refresh)
* Symbol alternate every 5s
* If bluetooth is disconnected or if we are in the first part of the clock, then we show the APRS symbol
* Otherwise, we are in the second part of the clock, then we show BT connected
*/
if (!bluetoothConnected || millis() - symbolTime <= 2500) {
const auto time_now = now();
if (!bluetoothConnected || time_now % 10 < 5) {
if (symbol != 100) {
symbolAvailable = true;
display.drawBitmap((display.width() - SYM_WIDTH), 0, symbolsAPRS[symbol], SYM_WIDTH, SYM_HEIGHT, 1);
@ -201,10 +200,6 @@ void show_display(String header, String line1, String line2, String line3, Strin
} else if (bluetoothConnected) {
display.drawBitmap((display.width() - SYM_WIDTH), 0, bluetoothSymbol, SYM_WIDTH, SYM_HEIGHT, 1);
}
if (millis() - symbolTime >= 5000) {
symbolTime = millis();
}
}
display.display();