danilo
29. März 2018 um 23:42
43
2018-03-30
Anwesend
@danilo @raphi
Stand: Hardware / Firmware
Wir haben primär die Ansteuerung für den RN2483 debugged und ein paar Probleme behoben.
Fazit zu Join-Mechanismus:
Beim ersten Wakeup (power on wake) Join via OTAA (mac join otaa
) durchführen, wenn nicht bereits joined (hasJoined()
), dann mac save
Beim Deep Sleep Wakeup sollte man nun mit mac join abp
joinen können, da die Session Keys persistiert wurden
Merged:
Stand: Web
Mit Chart styling weitergemacht (@danilo )
Other Learnings
Next Steps
raphi
11. Mai 2018 um 13:46
44
2018-05-11
Anwesend
@raphi
1-Wire debugging
Currently we have severe problems with the stability of the 1-Wire communication due to timing problems with the wait_us
function.
Measure the timing of the read function
With the read function implemented as follows:
bool OneWire::read_bit() {
_pin.write(0);
_pin.output();
// wait_us has ~15us overhead
wait_us(0);
_pin.input();
bool b = _pin.read();
wait_us(55);
return b;
}
The time for writing 0, waiting and changing back to input adds up to 19us (13us more than the target of 6us):
When the slave writes a 0 it will release the bus after 29us, thus when we would wait after changing to input we would miss the 0 from the slave:
Removing the call of the sleep reduces the low time to 4us which is less than the 6us thus violating the 1-Wire specs:
Downgrading the nxplpc version to 2.8.0 lead to a shorter delay (~15us) when using wait_us(0);
commit 5470e20c11a06a123f95a7769b519a7c549ccbfb (HEAD -> check-ds18b20-crc)
Author: Raphael Nestler <raphael.nestler@gmail.com>
Date: Fri May 11 16:48:09 2018 +0200
Specify the version of the nxplpc platform to use
diff --git a/platformio.ini b/platformio.ini
index f913a37..44da5c6 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -8,7 +8,7 @@
env_default = debug
[common]
-platform = nxplpc
+platform = nxplpc@2.8.0
framework = mbed
board = lpc11u24
extra_scripts = extra_script.py
1 „Gefällt mir“
raphi
14. Mai 2018 um 21:41
45
2018-05-14
Anwesend
@raphi
@danilo
1-Wire Fixing
By replacing the wait_us calls with direct calls to the ticker API we fixed the timing issues: https://github.com/gfroerli/firmware/pull/18
Read timings, showing a delay of 8us between pulling to low and rising to high again (6us in 1-Wire spec). Previously this was something like 15 to 20us.
Write timings, also showing a delay of 8us between pulling to low and rising to high again (also 6us in 1-Wire spec).
1 „Gefällt mir“
danilo
5. Juni 2018 um 22:08
46
2018-06-05
Anwesend
@danilo @raphi
Low Power
Wir haben den Low-Power Code von Danilo debugged. Das Problem liegt am Wakeup des RN2483-Moduls. Ev ein Problem mit der Serial Break Condition.
Workaround vorerst: Nicht in den “ewigen” Sleep gehen, sondern mit einem Interval arbeiten: Das RN2483-Modul schläft etwas weniger lange als die Deep Sleep Phase und ist ready wenn der uC aufwacht.
PR:
Erste Messungen: Bei 15 Minuten-Intervallen kriegen wir vielleicht schön über ein Jahr Laufzeit hin! (Durchschnitts-Verbrach ca 235 uA) Siehe https://github.com/gfroerli/firmware/pull/25#issuecomment-394875883
Next Steps
Mit der Webapp weitermachen: @danilo
Prototyp bei HSR installieren: @danilo
Ev. RN2483 wakeup debuggen: @raphi
danilo
10. Juni 2018 um 23:06
47
2018-06-10
Anwesend
@danilo @raphi
Deployment
Der erste Sensor ist live!
!
Web Updates
Next Steps
raphi
11. Juni 2018 um 18:53
48
2018-06-11
Anwesend
@danilo @raphi @schmijos
API / DB
Bisher haben wir nur die See-Temperatur in der DB.
Sollen wir das so beibehalten oder sollen wir Innentemperatur, Feuchtigkeit und Batteriespannung auch in die DB loggen?
Soll die API diese Dinge auch zur Verfügung stellen?
Updates
gfroerli:master
← gfroerli:fix-readme
opened 07:12PM - 11 Jun 18 UTC
gfroerli:master
← gfroerli:fix-elm-package-metadata
opened 09:39PM - 10 Jun 18 UTC
gfroerli:master
← gfroerli:fast-ci
opened 08:52PM - 11 Jun 18 UTC
gfroerli:master
← gfroerli:copyright
opened 09:19PM - 11 Jun 18 UTC
danilo
19. August 2018 um 15:23
49
2018-08-19
Anwesend
@danilo @raphi
HSR Node
Seit Freitag sendet der Sensor wieder keine Daten. Wir machen heute noch einen Powercycle.
Zusätzlich möchten wir einen Testnode im Coredump oder im Lattenbach. Leider haben wir keine Abdeckung hier
Single Channel Test-Gateway
Parallel haben wir versucht, den LoRaGo DOCK Single-channel Gateway einzurichten.
Der Gateway läuft auf SF7 / BW125 / 868.1 MHz.
Konfiguration RN2483:
sys factoryRESET
mac set ch status 0 off
mac set ch status 1 off
mac set ch status 2 off
mac set ch status 2 off
mac set ch freq 5 868100000
mac set ch dcycle 5 9
mac set ch drrange 5 0 5
mac set ch status 5 on
mac set devaddr xxxxxxx
mac set nwkskey xxxxxxx
mac set appskey xxxxxxx
mac set adr off
mac set ar off
mac set pwridx 1
mac set dr 5
mac join abp
mac tx uncnf 1 4242
danilo
22. Januar 2019 um 20:14
50
2019-01-22
Anwesend
@danilo @raphi
Android App
…hat ein neues Logo und ein paar Verbesserungen erhalten
Ziele 2019
Bessere Datenanzeige/-auswertung für App und Web
Einfache Firmware in Rust
Ev. neues PCB mit LibrePCB?
Heute
@raphi macht an svd2rust weiter
@danilo hat ein paar LibrePCB bauteile erfasst, die wir in der Gfrörli-Hardware nutzen
Niklas macht ev. eine iOS app!
raphi
5. Februar 2019 um 19:38
51
2019-02-05
Anwesend
@danilo @raphi
Android App
Release mit neuem Logo und Bugfixes published.
Hardware
@danilo Hat einige der benötigten Bauteile in LibrePCB integriert.
https://md.coredump.ch/uG6HKibfTdqGOjAmTkBs5g?view
iOS App
Niklas hat einen ersten Prototypen bereit.
Heute
@raphi macht an UART Implementierung mit Rust Nightly weiter
@danilo erfasst weitere LibrePCB Bauteile, die wir in der Gfrörli-Hardware nutzen.
raphi
19. Februar 2019 um 20:38
52
2019-02-19
Anwesend
@danilo @raphi
Rust Firmware
Probleme mit Delay behoben:
lpc-rs:master
← lpc-rs:fix-delay_ms
opened 08:11PM - 19 Feb 19 UTC
gfroerli:rust
← gfroerli:fix-clock
opened 07:36PM - 19 Feb 19 UTC
Website
Elm 0.19 Migration gestartet.
Next Steps
@raphi macht an UART Implementierung mit Rust Nightly weiter
@danilo erfasst weitere LibrePCB Bauteile, die wir in der Gfrörli-Hardware nutzen.
@danilo macht mit der Elm-0.19-Migration weiter.
raphi
19. März 2019 um 20:56
53
2019-03-19
Anwesend
@danilo @raphi
Rust Firmware
UART debugging: getraced was der c++ code genau macht und einen bug gefunden und gefixt:
gfroerli:rust
← gfroerli:fix-disabling-of-iocon
opened 09:43PM - 19 Mar 19 UTC
Please note the difference between write and modify...
Ansonsten noch einige kleine Fixes:
gfroerli:rust
← gfroerli:remove-unnecessary-unsafe
opened 09:42PM - 19 Mar 19 UTC
gfroerli:rust
← gfroerli:cargo-fmt
opened 09:53PM - 19 Mar 19 UTC
UART funktioniert jetzt!
Website
Der Elm 0.19 Port ist fast fertig!
gfroerli:master
← gfroerli:upgrade-to-elm-0.19-again
opened 10:15PM - 19 Mar 19 UTC
Still WIP, there's some issue with the ports and the tests probably don't work.
…
But the page already loads!
Next Steps
@raphi macht an UART Implementierung mit Rust Nightly weiter
danilo
30. April 2019 um 20:50
54
2019-04-30
Anwesend
@danilo @L3p0
iOS App
Niklas macht an der Entwicklung weiter.
Website
Port auf Elm 0.19 vor 2 Wochen abgeschlossen! Seither Bugs gefixt.
danilo
14. Mai 2019 um 21:31
55
2019-05-14
Anwesend
@danilo @raphi
Hardware
Wir wechseln für v2 auf einen STML0 uC, Favorit ist aktuell der STM32L071KBT6 (3.33 CHF auf Digikey).
HAL
@danilo hat den PR von @raphi reviewed:
rust-embedded:master
← rnestler:implement-serial
opened 03:36PM - 09 Jun 18 UTC
So this is just a quick PoC to implement #8.
@japaric Do you think it would be … OK to implement it in that way? If yes I can finish it up.
Next Steps
Embedded-HAL-Treiber für:
RN2483: Schreiben
1-Wire: Testen
danilo
25. Juni 2019 um 21:32
56
2019-06-25
Anwesend
@danilo @raphi
Status
Raphi hat in der Zwischenzeit am One-Wire Rust-Treiber weitergearbeitet. Es gibt Probleme mit der Genauigkeit von Timern im Mikrosekunden-Bereich mit dem STM32L071 HAL (zu viel Overhead).
Danilo hat mit der Entwicklung eines RN2xx3-Treibers begonnen und an den LibrePCB-Libraries weitergearbeitet.
Wir haben an der Cosin beide mit dem Hardware-Design für v2 begonnen, vorerst mal nur das Schema.
Wir bestellen bei Gelegenheit ein paar neue Temperatursensoren weil die billigen China-Sensoren schrott sind.
Next Steps
Embedded-HAL-Treiber für:
RN2483: Fertigstellen
1-Wire / HAL: Bugfixes machen
Schema v2: Fertigstellen
danilo
15. Oktober 2019 um 22:52
57
2019-10-15
(In der Zwischenzeit haben wir ein paar Meetings ohne Protokoll gehabt…)
Anwesend
@danilo @raphi
Status
Wir haben primär an der LibrePCB-Library weitergearbeitet, damit wir alle nötigen Library-Elemente für die Hardware v2 zur Verfügung haben.
Danilo hat noch ein paar Website-Fixes gemacht:
Next Steps
Schema v2: Fertigstellen
Embedded-HAL-Treiber für RN2483: Fertigstellen
1-Wire / HAL: Bugfixes machen
danilo
19. Oktober 2019 um 23:12
59
Ich habe mit dem Routing begonnen…
Wird schon langsam eng
danilo
4. Dezember 2019 um 20:04
60
2019-12-03
Anwesend
@danilo @raphi
Status
Hardware v2
An den offenen Issues weitergemacht. Wir sind fast fertig mit Routing!
danilo
11. Dezember 2019 um 12:46
61
2019-12-10
Anwesend
@danilo @raphi
Status
Hardware v2
Die letzten paar offenen Milestone-Issues geschlossen. Diese Woche können wir die PCB-Bestellung abschicken!