Skip to content

Commit dadf072

Browse files
committed
Partially overhaul logging & make base containers
1 parent 8d901bc commit dadf072

File tree

13 files changed

+58
-31
lines changed

13 files changed

+58
-31
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import lightbug.devices as devices
2+
import lightbug.messages as messages
3+
import lightbug.modules.comms.message-handler show MessageHandler
4+
import lightbug.modules.strobe.strobe show Strobe
5+
import lightbug.protocol as protocol
6+
import log
7+
8+
main:
9+
device := (devices.RtkHandheld2 --open=false --logger=((log.default.with-name "lb").with-level log.DEBUG-LEVEL) ).comms
10+
while true:
11+
sleep --ms=10000

examples/containers/base.toit

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import lightbug.devices as devices
2+
import lightbug.messages as messages
3+
import lightbug.modules.comms.message-handler show MessageHandler
4+
import lightbug.modules.strobe.strobe show Strobe
5+
import lightbug.protocol as protocol
6+
import log
7+
8+
main:
9+
device := (devices.RtkHandheld2 --open=false).comms
10+
while true:
11+
sleep --ms=10000

src/devices/base.toit

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ interface HasInOut:
4949
out -> io.Writer
5050

5151
/*
52-
A base class for Lightbug devices
52+
A base class for Lightbug I2C devices
5353
Containing the common I2C implementation
5454
*/
55-
abstract class LightbugDevice implements Device:
55+
abstract class LightbugI2CDevice implements Device:
5656
static I2C-SDA := 6
5757
static I2C-SCL := 7
5858

@@ -73,16 +73,17 @@ abstract class LightbugDevice implements Device:
7373
constructor name/string i2c-sda/int=I2C-SDA i2c-scl/int=I2C-SCL --i2c-frequency/int=100_000
7474
--strobe/Strobe=NoStrobe
7575
--open/bool=true
76-
--logger/log.Logger=(log.default.with-name "lb-device"):
76+
// Default to a logger named "lb" with ERROR level
77+
--logger/log.Logger=((log.default.with-name "lb").with-level log.ERROR-LEVEL):
7778
// TODO if more than one device is instantiated, things will likely break due to gpio / i2c conflicts, so WARN / throw in this case
7879
name_ = name
7980
strobe_ = strobe
8081
logger_ = logger
8182
open_ = open
8283
i2c-bus = LBI2CBus --sda=i2c-sda --scl=i2c-scl --frequency=i2c-frequency
8384
i2c-device_ = LBI2CDevice i2c-bus
84-
i2c-reader_ = Reader i2c-device_ --logger=logger_
85-
i2c-writer_ = Writer i2c-device_ --logger=logger_
85+
i2c-reader_ = Reader i2c-device_ --logger=(logger_.with-name "i2c.read")
86+
i2c-writer_ = Writer i2c-device_ --logger=(logger_.with-name "i2c.write")
8687

8788
name -> string:
8889
return name_
@@ -93,6 +94,7 @@ abstract class LightbugDevice implements Device:
9394
comms_ = Comms
9495
--device=this
9596
--open=open_
97+
--logger=(logger_.with-name "comms")
9698
// Auto-register BLE handler for all devices with BLE support
9799
auto-register-ble-handler_
98100
// Auto-register WiFi handler for all devices with WiFi support
@@ -104,11 +106,11 @@ abstract class LightbugDevice implements Device:
104106
return buttons_
105107
ble -> BLE:
106108
if not ble_:
107-
ble_ = BLE
109+
ble_ = BLE --logger=(logger_.with-name "ble")
108110
return ble_
109111
wifi -> WiFi:
110112
if not wifi_:
111-
wifi_ = WiFi
113+
wifi_ = WiFi --logger=(logger_.with-name "wifi")
112114
return wifi_
113115
messages-supported -> List:
114116
return []
@@ -148,15 +150,15 @@ abstract class LightbugDevice implements Device:
148150
*/
149151
auto-register-ble-handler_:
150152
e := catch:
151-
ble-handler := BLEHandler this comms_
153+
ble-handler := BLEHandler this comms_ --logger=(logger_.with-name "h.ble")
152154
comms_.register-handler ble-handler
153155
logger_.debug "Auto-registered BLE message handler"
154156
if e:
155157
logger_.warn "Failed to register BLE handler: $e"
156158

157159
auto-register-wifi-handler_:
158160
e := catch:
159-
wifi-handler := WiFiHandler this comms_
161+
wifi-handler := WiFiHandler this comms_ --logger=(logger_.with-name "h.wifi")
160162
comms_.register-handler wifi-handler
161163
logger_.debug "Auto-registered WiFi message handler"
162164
if e:

src/devices/devices.toit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import .base show Device LightbugDevice
1+
import .base show Device LightbugI2CDevice
22
import .fake show Fake
33
import .rh2 show RtkHandheld2 RtkHandheld2Rev2
44
import .zcard show ZCard

src/devices/fake.toit

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import i2c
22
import io
3+
import log
34
import .base
45
import .i2c
56
import ..modules.strobe
@@ -35,11 +36,11 @@ class Fake implements Device:
3536
return buttons_
3637
ble -> BLE:
3738
if not ble_:
38-
ble_ = BLE
39+
ble_ = BLE --logger=(log.default.with-name "lb.ble")
3940
return ble_
4041
wifi -> WiFi:
4142
if not wifi_:
42-
wifi_ = WiFi
43+
wifi_ = WiFi --logger=(log.default.with-name "lb.wifi")
4344
return wifi_
4445
messages-supported -> List:
4546
return []

src/devices/rh2.toit

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import i2c
22
import io
3+
import log
34
import .base
45
import .i2c
56
import ..modules.strobe
@@ -10,27 +11,27 @@ RtkHandheld2-MESSAGES := [
1011

1112
// The latest revision of the RtkHandheld2 device
1213
class RtkHandheld2 extends RtkHandheld2Rev5:
13-
constructor --open/bool=true:
14-
super --open=open
14+
constructor --open/bool=true --logger/log.Logger=((log.default.with-name "lb").with-level log.ERROR-LEVEL):
15+
super --open=open --logger=logger
1516

1617
// The RtkHandheld2 device, currently at revision 5
17-
class RtkHandheld2Rev5 extends LightbugDevice:
18-
constructor --open/bool=true:
19-
super "RtkHandheld2" --strobe=StandardStrobe --i2c-frequency=100_000 --open=open
18+
class RtkHandheld2Rev5 extends LightbugI2CDevice:
19+
constructor --open/bool=true --logger/log.Logger=((log.default.with-name "lb").with-level log.ERROR-LEVEL):
20+
super "RtkHandheld2" --strobe=StandardStrobe --i2c-frequency=100_000 --open=open --logger=logger
2021
messages-supported -> List:
2122
return RtkHandheld2-MESSAGES
2223

2324
// Rev 3 and 4 of the RtkHandheld2 device (slower I2C speed)
2425
// Introduced Feb 2025
25-
class RtkHandheld2Rev3 extends LightbugDevice:
26+
class RtkHandheld2Rev3 extends LightbugI2CDevice:
2627
constructor --open/bool=true:
2728
super "RtkHandheld2" --strobe=StandardStrobe --open=open
2829
messages-supported -> List:
2930
return RtkHandheld2-MESSAGES
3031

3132
// Rev 2 of the RtkHandheld2 device, with different I2C pins
3233
// Retired Feb 2025
33-
class RtkHandheld2Rev2 extends LightbugDevice:
34+
class RtkHandheld2Rev2 extends LightbugI2CDevice:
3435
static I2C-SDA := 0
3536
static I2C-SCL := 1
3637
constructor --open/bool=true:

src/devices/uart.toit

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import uart
22
import gpio
33
import io
4+
import log
45
import .base
56
import ..modules.strobe
67
import ..modules.comms
@@ -49,11 +50,11 @@ class GenericUart implements Device:
4950
return buttons_
5051
ble -> BLE:
5152
if not ble_:
52-
ble_ = BLE
53+
ble_ = BLE --logger=(log.default.with-name "lb.ble")
5354
return ble_
5455
wifi -> WiFi:
5556
if not wifi_:
56-
wifi_ = WiFi
57+
wifi_ = WiFi --logger=(log.default.with-name "lb.wifi")
5758
return wifi_
5859
messages-supported -> List:
5960
return []

src/devices/zcard.toit

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class ZCard extends ZCardRev2:
3737

3838
// The second of the ZCard devices
3939
// Introduced Mid 2025
40-
class ZCardRev2 extends LightbugDevice:
40+
class ZCardRev2 extends LightbugI2CDevice:
4141
constructor --open/bool=true:
4242
super "ZCard" --strobe=(StandardStrobe --initial-value=1) --open=open
4343
messages-supported -> List:
@@ -52,7 +52,7 @@ class ZCardRev2 extends LightbugDevice:
5252

5353
// The first ZCard devices
5454
// Introduced Feb 2025
55-
class ZCardRev1 extends LightbugDevice:
55+
class ZCardRev1 extends LightbugI2CDevice:
5656
constructor --open/bool=true:
5757
super "ZCard" --strobe=(StandardStrobe --initial-value=1) --open=open
5858
messages-supported -> List:

src/modules/ble/ble.toit

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ class BLE:
1313
logger_/log.Logger
1414
adapter_/ble.Adapter
1515

16-
constructor --logger/log.Logger?=null:
17-
logger_ = logger ? log.default.with-name "lb-ble" : log.default.with-name "lb-ble"
16+
constructor --logger/log.Logger:
17+
logger_ = logger
1818
adapter_ = ble.Adapter
1919

2020
/**

src/modules/ble/handler.toit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class BLEHandler implements MessageHandler:
1818
device_/devices.Device
1919
comms_/any // Reference to the comms instance for sending responses
2020
21-
constructor device/devices.Device comms/any --logger/log.Logger=(log.default.with-name "lb-ble-handler"):
21+
constructor device/devices.Device comms/any --logger/log.Logger:
2222
logger_ = logger
2323
device_ = device
2424
comms_ = comms

0 commit comments

Comments
 (0)