<message>Modify the first-boot.sh script to include an additional step for managing screen brightness during the provisioning process. Update user-data.bootstrap to improve DNS configuration by ensuring NetworkManager manages /etc/resolv.conf correctly, and remove obsolete scripts related to systemd-resolved. Enhance documentation to reflect these changes and clarify the setup process for users, improving overall network boot functionality and user experience.
64 lines
3.1 KiB
Plaintext
64 lines
3.1 KiB
Plaintext
# screen-brightness.conf — reTerminal DM Bridge Brightness Daemon
|
||
#
|
||
# Regulatory basis
|
||
# IMO MSC.191(79) §8.1 : brightness adjustable, never extinguished
|
||
# IMO MSC.302(87) : alarms = high luminance; night mode preserves night vision
|
||
# IHO S-52 / IEC 62288 : NIGHT / DUSK / DAY operating modes
|
||
#
|
||
# Reload without restart: systemctl reload screen-brightness
|
||
# Override from bridge console:
|
||
# echo 3 | sudo tee /run/screen-brightness/override # fix at level 3
|
||
# echo auto | sudo tee /run/screen-brightness/override # return to auto
|
||
|
||
[screen-brightness]
|
||
|
||
# ── Sysfs paths ──────────────────────────────────────────────────────────────
|
||
backlight_path = /sys/class/backlight/lcd_backlight/brightness
|
||
buzzer_path = /sys/class/leds/usr-buzzer/brightness
|
||
lux_path = /sys/bus/iio/devices/iio:device0/in_illuminance_input
|
||
|
||
# ── Timing ───────────────────────────────────────────────────────────────────
|
||
# How often the ambient sensor is read (seconds)
|
||
poll_interval = 2
|
||
|
||
# How often the buzzer is checked (seconds). Keep below 1 so alarms are seen quickly.
|
||
buzzer_poll = 0.5
|
||
|
||
# How long to hold maximum brightness after the buzzer stops (seconds)
|
||
# IMO MSC.302(87): alarm attention must persist long enough for crew response
|
||
buzzer_cooldown = 10
|
||
|
||
# ── Lux thresholds — IHO S-52 three-mode framework ──────────────────────────
|
||
# Adjust these to match the actual lighting environment of your bridge.
|
||
#
|
||
# 0 — lux_night_max → NIGHT mode (very dark, night watch)
|
||
# lux_night_max+1 — lux_dusk_max → DUSK mode (dim, dawn/dusk)
|
||
# lux_dusk_max+1 — lux_day_dim_max → DAY-DIM
|
||
# lux_day_dim_max+1 — lux_day_normal_max → DAY-NORMAL
|
||
# > lux_day_normal_max → DAY-BRIGHT (direct sunlight / tropical day)
|
||
|
||
lux_night_max = 20
|
||
lux_dusk_max = 200
|
||
lux_day_dim_max = 500
|
||
lux_day_normal_max = 1000
|
||
|
||
# ── Brightness levels per mode (1 = minimum, 5 = maximum) ───────────────────
|
||
# Level 0 is NEVER used — IMO "not to extinction" principle.
|
||
# Minimum must remain legible at the navigator's position.
|
||
level_night = 1
|
||
level_dusk = 2
|
||
level_day_dim = 3
|
||
level_day_normal = 4
|
||
level_day_bright = 5
|
||
|
||
# Brightness forced during ALERT (buzzer ON) and COOLDOWN states.
|
||
# IMO MSC.302(87): alarm visual indicators must be high luminous intensity.
|
||
level_alert = 5
|
||
|
||
# ── Hysteresis ───────────────────────────────────────────────────────────────
|
||
# Number of consecutive polls that must agree on a new ambient brightness
|
||
# target before the change is committed. Prevents flickering when lux hovers
|
||
# near a mode boundary (e.g. sunset making the sensor oscillate 18–22 lux).
|
||
# At poll_interval=2s and hysteresis_polls=3, a level change takes max 6s.
|
||
hysteresis_polls = 3
|