summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt109
-rw-r--r--src/FreeRTOSConfig.h2
-rw-r--r--src/components/battery/BatteryController.cpp8
-rw-r--r--src/components/battery/BatteryController.h39
-rw-r--r--src/components/ble/HeartRateService.cpp82
-rw-r--r--src/components/ble/HeartRateService.h44
-rw-r--r--src/components/ble/MusicService.cpp88
-rw-r--r--src/components/ble/MusicService.h30
-rw-r--r--src/components/ble/NavigationService.cpp137
-rw-r--r--src/components/ble/NavigationService.h96
-rw-r--r--src/components/ble/NimbleController.cpp9
-rw-r--r--src/components/ble/NimbleController.h8
-rw-r--r--src/components/heartrate/Biquad.cpp27
-rw-r--r--src/components/heartrate/Biquad.h22
-rw-r--r--src/components/heartrate/HeartRateController.cpp41
-rw-r--r--src/components/heartrate/HeartRateController.h38
-rw-r--r--src/components/heartrate/Ppg.cpp106
-rw-r--r--src/components/heartrate/Ppg.h31
-rw-r--r--src/components/heartrate/Ptagc.cpp28
-rw-r--r--src/components/heartrate/Ptagc.h18
-rw-r--r--src/displayapp/Apps.h2
-rw-r--r--src/displayapp/DisplayApp.cpp14
-rw-r--r--src/displayapp/DisplayApp.h5
-rw-r--r--src/displayapp/fonts/jetbrains_mono_bold_20.c781
-rw-r--r--src/displayapp/icons/navigation/.c93
-rw-r--r--src/displayapp/icons/navigation/arrive-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/arrive-left.c96
-rw-r--r--src/displayapp/icons/navigation/arrive-left.pngbin0 -> 1290 bytes
-rw-r--r--src/displayapp/icons/navigation/arrive-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/arrive-right.c96
-rw-r--r--src/displayapp/icons/navigation/arrive-right.pngbin0 -> 1262 bytes
-rw-r--r--src/displayapp/icons/navigation/arrive-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/arrive-straight.c96
-rw-r--r--src/displayapp/icons/navigation/arrive-straight.pngbin0 -> 1110 bytes
-rw-r--r--src/displayapp/icons/navigation/arrive-white.svg4
-rw-r--r--src/displayapp/icons/navigation/arrive.c96
-rw-r--r--src/displayapp/icons/navigation/arrive.pngbin0 -> 1110 bytes
-rw-r--r--src/displayapp/icons/navigation/close-white.svg4
-rw-r--r--src/displayapp/icons/navigation/close.c96
-rw-r--r--src/displayapp/icons/navigation/close.pngbin0 -> 847 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue-left.c96
-rw-r--r--src/displayapp/icons/navigation/continue-left.pngbin0 -> 1213 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue-right.c96
-rw-r--r--src/displayapp/icons/navigation/continue-right.pngbin0 -> 1201 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/continue-slight-left.pngbin0 -> 1279 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/continue-slight-right.pngbin0 -> 1269 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue-straight.c96
-rw-r--r--src/displayapp/icons/navigation/continue-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-uturn-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue-uturn.c96
-rw-r--r--src/displayapp/icons/navigation/continue-uturn.pngbin0 -> 1536 bytes
-rw-r--r--src/displayapp/icons/navigation/continue-white.svg4
-rw-r--r--src/displayapp/icons/navigation/continue.c96
-rw-r--r--src/displayapp/icons/navigation/continue.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/depart-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/depart-left.c96
-rw-r--r--src/displayapp/icons/navigation/depart-left.pngbin0 -> 1414 bytes
-rw-r--r--src/displayapp/icons/navigation/depart-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/depart-right.c96
-rw-r--r--src/displayapp/icons/navigation/depart-right.pngbin0 -> 1389 bytes
-rw-r--r--src/displayapp/icons/navigation/depart-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/depart-straight.c96
-rw-r--r--src/displayapp/icons/navigation/depart-straight.pngbin0 -> 1100 bytes
-rw-r--r--src/displayapp/icons/navigation/depart-white.svg4
-rw-r--r--src/displayapp/icons/navigation/depart.c96
-rw-r--r--src/displayapp/icons/navigation/depart.pngbin0 -> 1108 bytes
-rw-r--r--src/displayapp/icons/navigation/end-of-road-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/end-of-road-left.c96
-rw-r--r--src/displayapp/icons/navigation/end-of-road-left.pngbin0 -> 1295 bytes
-rw-r--r--src/displayapp/icons/navigation/end-of-road-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/end-of-road-right.c96
-rw-r--r--src/displayapp/icons/navigation/end-of-road-right.pngbin0 -> 1279 bytes
-rw-r--r--src/displayapp/icons/navigation/ferry-white.svg4
-rw-r--r--src/displayapp/icons/navigation/ferry.c96
-rw-r--r--src/displayapp/icons/navigation/ferry.pngbin0 -> 1786 bytes
-rw-r--r--src/displayapp/icons/navigation/flag-white.svg4
-rw-r--r--src/displayapp/icons/navigation/flag.c96
-rw-r--r--src/displayapp/icons/navigation/flag.pngbin0 -> 815 bytes
-rw-r--r--src/displayapp/icons/navigation/fork-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/fork-left.c96
-rw-r--r--src/displayapp/icons/navigation/fork-left.pngbin0 -> 1379 bytes
-rw-r--r--src/displayapp/icons/navigation/fork-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/fork-right.c96
-rw-r--r--src/displayapp/icons/navigation/fork-right.pngbin0 -> 1364 bytes
-rw-r--r--src/displayapp/icons/navigation/fork-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/fork-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/fork-slight-left.pngbin0 -> 1567 bytes
-rw-r--r--src/displayapp/icons/navigation/fork-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/fork-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/fork-slight-right.pngbin0 -> 1564 bytes
-rw-r--r--src/displayapp/icons/navigation/fork-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/fork-straight.c96
-rw-r--r--src/displayapp/icons/navigation/fork-straight.pngbin0 -> 1652 bytes
-rw-r--r--src/displayapp/icons/navigation/fork-white.svg4
-rw-r--r--src/displayapp/icons/navigation/fork.c96
-rw-r--r--src/displayapp/icons/navigation/fork.pngbin0 -> 1486 bytes
-rw-r--r--src/displayapp/icons/navigation/img_conv_core.php822
-rw-r--r--src/displayapp/icons/navigation/invalid-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid-left.c96
-rw-r--r--src/displayapp/icons/navigation/invalid-left.pngbin0 -> 1213 bytes
-rw-r--r--src/displayapp/icons/navigation/invalid-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid-right.c96
-rw-r--r--src/displayapp/icons/navigation/invalid-right.pngbin0 -> 1201 bytes
-rw-r--r--src/displayapp/icons/navigation/invalid-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/invalid-slight-left.pngbin0 -> 1279 bytes
-rw-r--r--src/displayapp/icons/navigation/invalid-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/invalid-slight-right.pngbin0 -> 1269 bytes
-rw-r--r--src/displayapp/icons/navigation/invalid-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid-straight.c96
-rw-r--r--src/displayapp/icons/navigation/invalid-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/invalid-uturn-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid-uturn.c96
-rw-r--r--src/displayapp/icons/navigation/invalid-uturn.pngbin0 -> 1536 bytes
-rw-r--r--src/displayapp/icons/navigation/invalid-white.svg4
-rw-r--r--src/displayapp/icons/navigation/invalid.c96
-rw-r--r--src/displayapp/icons/navigation/invalid.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/merge-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/merge-left.c96
-rw-r--r--src/displayapp/icons/navigation/merge-left.pngbin0 -> 1363 bytes
-rw-r--r--src/displayapp/icons/navigation/merge-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/merge-right.c96
-rw-r--r--src/displayapp/icons/navigation/merge-right.pngbin0 -> 1353 bytes
-rw-r--r--src/displayapp/icons/navigation/merge-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/merge-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/merge-slight-left.pngbin0 -> 1439 bytes
-rw-r--r--src/displayapp/icons/navigation/merge-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/merge-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/merge-slight-right.pngbin0 -> 1430 bytes
-rw-r--r--src/displayapp/icons/navigation/merge-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/merge-straight.c96
-rw-r--r--src/displayapp/icons/navigation/merge-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/new8
-rw-r--r--src/displayapp/icons/navigation/new-name-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-left.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-left.pngbin0 -> 1213 bytes
-rw-r--r--src/displayapp/icons/navigation/new-name-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-right.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-right.pngbin0 -> 1201 bytes
-rw-r--r--src/displayapp/icons/navigation/new-name-sharp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-sharp-left.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-sharp-left.pngbin0 -> 1401 bytes
-rw-r--r--src/displayapp/icons/navigation/new-name-sharp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-sharp-right.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-sharp-right.pngbin0 -> 1408 bytes
-rw-r--r--src/displayapp/icons/navigation/new-name-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-slight-left.pngbin0 -> 1279 bytes
-rw-r--r--src/displayapp/icons/navigation/new-name-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-slight-right.pngbin0 -> 1269 bytes
-rw-r--r--src/displayapp/icons/navigation/new-name-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/new-name-straight.c96
-rw-r--r--src/displayapp/icons/navigation/new-name-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-left.c96
-rw-r--r--src/displayapp/icons/navigation/notification-left.pngbin0 -> 1213 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-right.c96
-rw-r--r--src/displayapp/icons/navigation/notification-right.pngbin0 -> 1201 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-sharp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-sharp-left.c96
-rw-r--r--src/displayapp/icons/navigation/notification-sharp-left.pngbin0 -> 1412 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-sharp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-sharp-right.c96
-rw-r--r--src/displayapp/icons/navigation/notification-sharp-right.pngbin0 -> 1413 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/notification-slight-left.pngbin0 -> 1279 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/notification-slight-right.pngbin0 -> 1269 bytes
-rw-r--r--src/displayapp/icons/navigation/notification-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/notification-straight.c96
-rw-r--r--src/displayapp/icons/navigation/notification-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/off-ramp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/off-ramp-left.c96
-rw-r--r--src/displayapp/icons/navigation/off-ramp-left.pngbin0 -> 1387 bytes
-rw-r--r--src/displayapp/icons/navigation/off-ramp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/off-ramp-right.c96
-rw-r--r--src/displayapp/icons/navigation/off-ramp-right.pngbin0 -> 1361 bytes
-rw-r--r--src/displayapp/icons/navigation/off-ramp-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/off-ramp-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/off-ramp-slight-left.pngbin0 -> 1359 bytes
-rw-r--r--src/displayapp/icons/navigation/off-ramp-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/off-ramp-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/off-ramp-slight-right.pngbin0 -> 1345 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-left.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-left.pngbin0 -> 1238 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-right.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-right.pngbin0 -> 1210 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-sharp-left.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-sharp-left.pngbin0 -> 1401 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-sharp-right.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-sharp-right.pngbin0 -> 1413 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-slight-left.pngbin0 -> 1280 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-slight-right.pngbin0 -> 1269 bytes
-rw-r--r--src/displayapp/icons/navigation/on-ramp-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/on-ramp-straight.c96
-rw-r--r--src/displayapp/icons/navigation/on-ramp-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-left.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-left.pngbin0 -> 1498 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-right.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-right.pngbin0 -> 1636 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-sharp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-sharp-left.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-sharp-left.pngbin0 -> 1852 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-sharp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-sharp-right.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-sharp-right.pngbin0 -> 2120 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-slight-left.pngbin0 -> 1665 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-slight-right.pngbin0 -> 1663 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary-straight.c96
-rw-r--r--src/displayapp/icons/navigation/rotary-straight.pngbin0 -> 1469 bytes
-rw-r--r--src/displayapp/icons/navigation/rotary-white.svg4
-rw-r--r--src/displayapp/icons/navigation/rotary.c96
-rw-r--r--src/displayapp/icons/navigation/rotary.pngbin0 -> 1951 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-left.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-left.pngbin0 -> 1498 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-right.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-right.pngbin0 -> 1636 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-sharp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-sharp-left.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-sharp-left.pngbin0 -> 1852 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-sharp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-sharp-right.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-sharp-right.pngbin0 -> 2120 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-slight-left.pngbin0 -> 1662 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-slight-right.pngbin0 -> 1663 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout-straight.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout-straight.pngbin0 -> 1469 bytes
-rw-r--r--src/displayapp/icons/navigation/roundabout-white.svg4
-rw-r--r--src/displayapp/icons/navigation/roundabout.c96
-rw-r--r--src/displayapp/icons/navigation/roundabout.pngbin0 -> 1951 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-left.c96
-rw-r--r--src/displayapp/icons/navigation/turn-left.pngbin0 -> 1213 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-right.c96
-rw-r--r--src/displayapp/icons/navigation/turn-right.pngbin0 -> 1201 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-sharp-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-sharp-left.c96
-rw-r--r--src/displayapp/icons/navigation/turn-sharp-left.pngbin0 -> 1412 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-sharp-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-sharp-right.c96
-rw-r--r--src/displayapp/icons/navigation/turn-sharp-right.pngbin0 -> 1413 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-slight-left-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-slight-left.c96
-rw-r--r--src/displayapp/icons/navigation/turn-slight-left.pngbin0 -> 1279 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-slight-right-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-slight-right.c96
-rw-r--r--src/displayapp/icons/navigation/turn-slight-right.pngbin0 -> 1269 bytes
-rw-r--r--src/displayapp/icons/navigation/turn-straight-white.svg4
-rw-r--r--src/displayapp/icons/navigation/turn-straight.c96
-rw-r--r--src/displayapp/icons/navigation/turn-straight.pngbin0 -> 961 bytes
-rw-r--r--src/displayapp/icons/navigation/updown-white.svg4
-rw-r--r--src/displayapp/icons/navigation/updown.c97
-rw-r--r--src/displayapp/icons/navigation/updown.pngbin0 -> 1250 bytes
-rw-r--r--src/displayapp/icons/navigation/uturn-white.svg4
-rw-r--r--src/displayapp/icons/navigation/uturn.c96
-rw-r--r--src/displayapp/icons/navigation/uturn.pngbin0 -> 1541 bytes
-rw-r--r--src/displayapp/screens/ApplicationList.cpp4
-rw-r--r--src/displayapp/screens/BatteryIcon.cpp10
-rw-r--r--src/displayapp/screens/BatteryIcon.h2
-rw-r--r--src/displayapp/screens/Clock.cpp18
-rw-r--r--src/displayapp/screens/Clock.h8
-rw-r--r--src/displayapp/screens/HeartRate.cpp115
-rw-r--r--src/displayapp/screens/HeartRate.h42
-rw-r--r--src/displayapp/screens/Navigation.cpp120
-rw-r--r--src/displayapp/screens/Navigation.h238
-rw-r--r--src/displayapp/screens/Symbols.h1
-rw-r--r--src/drivers/Hrs3300.cpp116
-rw-r--r--src/drivers/Hrs3300.h47
-rw-r--r--src/heartratetask/HeartRateTask.cpp97
-rw-r--r--src/heartratetask/HeartRateTask.h43
-rw-r--r--src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch51
-rw-r--r--src/libs/lvgl/src/lv_misc/lv_anim.c4
-rw-r--r--src/libs/lvgl/src/lv_misc/lv_anim.h6
-rw-r--r--src/main.cpp6
-rw-r--r--src/systemtask/SystemTask.cpp19
-rw-r--r--src/systemtask/SystemTask.h11
311 files changed, 11983 insertions, 464 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index fde1f586..5955d393 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -322,6 +322,96 @@ list(APPEND IMAGE_FILES
displayapp/icons/bluetooth/os_bt_connected.c
displayapp/icons/bluetooth/os_bt_disconnected.c
+
+ displayapp/icons/navigation/arrive-left.c
+ displayapp/icons/navigation/arrive-right.c
+ displayapp/icons/navigation/arrive-straight.c
+ displayapp/icons/navigation/arrive.c
+ displayapp/icons/navigation/close.c
+ displayapp/icons/navigation/continue-left.c
+ displayapp/icons/navigation/continue-right.c
+ displayapp/icons/navigation/continue-slight-left.c
+ displayapp/icons/navigation/continue-slight-right.c
+ displayapp/icons/navigation/continue-straight.c
+ displayapp/icons/navigation/continue-uturn.c
+ displayapp/icons/navigation/continue.c
+ displayapp/icons/navigation/depart-left.c
+ displayapp/icons/navigation/depart-right.c
+ displayapp/icons/navigation/depart-straight.c
+ displayapp/icons/navigation/end-of-road-left.c
+ displayapp/icons/navigation/end-of-road-right.c
+ displayapp/icons/navigation/ferry.c
+ displayapp/icons/navigation/flag.c
+ displayapp/icons/navigation/fork-left.c
+ displayapp/icons/navigation/fork-right.c
+ displayapp/icons/navigation/fork-slight-left.c
+ displayapp/icons/navigation/fork-slight-right.c
+ displayapp/icons/navigation/fork-straight.c
+ displayapp/icons/navigation/invalid.c
+ displayapp/icons/navigation/invalid-left.c
+ displayapp/icons/navigation/invalid-right.c
+ displayapp/icons/navigation/invalid-slight-left.c
+ displayapp/icons/navigation/invalid-slight-right.c
+ displayapp/icons/navigation/invalid-straight.c
+ displayapp/icons/navigation/invalid-uturn.c
+ displayapp/icons/navigation/merge-left.c
+ displayapp/icons/navigation/merge-right.c
+ displayapp/icons/navigation/merge-slight-left.c
+ displayapp/icons/navigation/merge-slight-right.c
+ displayapp/icons/navigation/merge-straight.c
+ displayapp/icons/navigation/new-name-left.c
+ displayapp/icons/navigation/new-name-right.c
+ displayapp/icons/navigation/new-name-sharp-left.c
+ displayapp/icons/navigation/new-name-sharp-right.c
+ displayapp/icons/navigation/new-name-slight-left.c
+ displayapp/icons/navigation/new-name-slight-right.c
+ displayapp/icons/navigation/new-name-straight.c
+ displayapp/icons/navigation/notification-left.c
+ displayapp/icons/navigation/notification-right.c
+ displayapp/icons/navigation/notification-sharp-left.c
+ displayapp/icons/navigation/notification-sharp-right.c
+ displayapp/icons/navigation/notification-slight-left.c
+ displayapp/icons/navigation/notification-slight-right.c
+ displayapp/icons/navigation/notification-straight.c
+ displayapp/icons/navigation/off-ramp-left.c
+ displayapp/icons/navigation/off-ramp-right.c
+ displayapp/icons/navigation/off-ramp-sharp-left.c
+ displayapp/icons/navigation/off-ramp-sharp-right.c
+ displayapp/icons/navigation/off-ramp-slight-left.c
+ displayapp/icons/navigation/off-ramp-slight-right.c
+ displayapp/icons/navigation/off-ramp-straight.c
+ displayapp/icons/navigation/on-ramp-left.c
+ displayapp/icons/navigation/on-ramp-right.c
+ displayapp/icons/navigation/on-ramp-sharp-left.c
+ displayapp/icons/navigation/on-ramp-sharp-right.c
+ displayapp/icons/navigation/on-ramp-slight-left.c
+ displayapp/icons/navigation/on-ramp-slight-right.c
+ displayapp/icons/navigation/on-ramp-straight.c
+ displayapp/icons/navigation/rotary.c
+ displayapp/icons/navigation/rotary-left.c
+ displayapp/icons/navigation/rotary-right.c
+ displayapp/icons/navigation/rotary-sharp-left.c
+ displayapp/icons/navigation/rotary-sharp-right.c
+ displayapp/icons/navigation/rotary-slight-left.c
+ displayapp/icons/navigation/rotary-slight-right.c
+ displayapp/icons/navigation/rotary-straight.c
+ displayapp/icons/navigation/roundabout.c
+ displayapp/icons/navigation/roundabout-left.c
+ displayapp/icons/navigation/roundabout-right.c
+ displayapp/icons/navigation/roundabout-sharp-left.c
+ displayapp/icons/navigation/roundabout-sharp-right.c
+ displayapp/icons/navigation/roundabout-slight-left.c
+ displayapp/icons/navigation/roundabout-slight-right.c
+ displayapp/icons/navigation/roundabout-straight.c
+ displayapp/icons/navigation/turn-left.c
+ displayapp/icons/navigation/turn-right.c
+ displayapp/icons/navigation/turn-sharp-left.c
+ displayapp/icons/navigation/turn-sharp-right.c
+ displayapp/icons/navigation/turn-slight-left.c
+ displayapp/icons/navigation/turn-slight-right.c
+ displayapp/icons/navigation/turn-stright.c
+ displayapp/icons/navigation/updown.c
+ displayapp/icons/navigation/uturn.c
)
list(APPEND SOURCE_FILES
@@ -345,10 +435,12 @@ list(APPEND SOURCE_FILES
displayapp/screens/Label.cpp
displayapp/screens/FirmwareUpdate.cpp
displayapp/screens/Music.cpp
+ displayapp/screens/Navigation.cpp
displayapp/screens/FirmwareValidation.cpp
displayapp/screens/ApplicationList.cpp
displayapp/screens/Notifications.cpp
displayapp/screens/Twos.cpp
+ displayapp/screens/HeartRate.cpp
main.cpp
drivers/St7789.cpp
drivers/SpiNorFlash.cpp
@@ -357,6 +449,7 @@ list(APPEND SOURCE_FILES
drivers/Watchdog.cpp
drivers/DebugPins.cpp
drivers/InternalFlash.cpp
+ drivers/Hrs3300.cpp
components/battery/BatteryController.cpp
components/ble/BleController.cpp
components/ble/NotificationManager.cpp
@@ -370,9 +463,11 @@ list(APPEND SOURCE_FILES
components/ble/CurrentTimeService.cpp
components/ble/AlertNotificationService.cpp
components/ble/MusicService.cpp
+ components/ble/NavigationService.cpp
components/ble/BatteryInformationService.cpp
components/ble/ImmediateAlertService.cpp
components/ble/ServiceDiscovery.cpp
+ components/ble/HeartRateService.cpp
components/firmwarevalidator/FirmwareValidator.cpp
drivers/Cst816s.cpp
FreeRTOS/port.c
@@ -385,6 +480,12 @@ list(APPEND SOURCE_FILES
systemtask/SystemTask.cpp
drivers/TwiMaster.cpp
+
+ heartratetask/HeartRateTask.cpp
+ components/heartrate/Ppg.cpp
+ components/heartrate/Biquad.cpp
+ components/heartrate/Ptagc.cpp
+ components/heartrate/HeartRateController.cpp
)
list(APPEND GRAPHICS_SOURCE_FILES
@@ -432,6 +533,7 @@ set(INCLUDE_FILES
displayapp/screens/ApplicationList.h
displayapp/Apps.h
displayapp/screens/Notifications.h
+ displayapp/screens/HeartRate.h
drivers/St7789.h
drivers/SpiNorFlash.h
drivers/SpiMaster.h
@@ -439,6 +541,7 @@ set(INCLUDE_FILES
drivers/Watchdog.h
drivers/DebugPins.h
drivers/InternalFlash.h
+ drivers/Hrs3300.h
components/battery/BatteryController.h
components/ble/BleController.h
components/ble/NotificationManager.h
@@ -454,6 +557,7 @@ set(INCLUDE_FILES
components/ble/ImmediateAlertService.h
components/ble/ServiceDiscovery.h
components/ble/BleClient.h
+ components/ble/HeartRateService.h.h
drivers/Cst816s.h
FreeRTOS/portmacro.h
FreeRTOS/portmacro_cmsis.h
@@ -470,6 +574,11 @@ set(INCLUDE_FILES
systemtask/SystemMonitor.h
displayapp/screens/Symbols.h
drivers/TwiMaster.h
+ heartratetask/HeartRateTask.h
+ components/heartrate/Ppg.h
+ components/heartrate/Biquad.h
+ components/heartrate/Ptagc.h
+ components/heartrate/HeartRateController.h
)
include_directories(
diff --git a/src/FreeRTOSConfig.h b/src/FreeRTOSConfig.h
index a18a2927..0b6a4b33 100644
--- a/src/FreeRTOSConfig.h
+++ b/src/FreeRTOSConfig.h
@@ -63,7 +63,7 @@
#define configTICK_RATE_HZ 1024
#define configMAX_PRIORITIES ( 3 )
#define configMINIMAL_STACK_SIZE ( 120 )
-#define configTOTAL_HEAP_SIZE ( 1024*11 )
+#define configTOTAL_HEAP_SIZE ( 1024*14 )
#define configMAX_TASK_NAME_LEN ( 4 )
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
diff --git a/src/components/battery/BatteryController.cpp b/src/components/battery/BatteryController.cpp
index 3e3d65b4..aaa245e4 100644
--- a/src/components/battery/BatteryController.cpp
+++ b/src/components/battery/BatteryController.cpp
@@ -34,9 +34,11 @@ void Battery::Update() {
// see https://forum.pine64.org/showthread.php?tid=8147
voltage = (value * 2.0f) / (1024/3.0f);
- percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f;
- percentRemaining = std::max(percentRemaining, 0.0f);
- percentRemaining = std::min(percentRemaining, 100.0f);
+ int percentRemaining = ((voltage - 3.55f)*100.0f)*3.9f;
+ percentRemaining = std::max(percentRemaining, 0);
+ percentRemaining = std::min(percentRemaining, 100);
+
+ percentRemainingBuffer.insert(percentRemaining);
// NRF_LOG_INFO("BATTERY " NRF_LOG_FLOAT_MARKER " %% - " NRF_LOG_FLOAT_MARKER " v", NRF_LOG_FLOAT(percentRemaining), NRF_LOG_FLOAT(voltage));
// NRF_LOG_INFO("POWER Charging : %d - Power : %d", isCharging, isPowerPresent);
diff --git a/src/components/battery/BatteryController.h b/src/components/battery/BatteryController.h
index 7cc964e4..86250a57 100644
--- a/src/components/battery/BatteryController.h
+++ b/src/components/battery/BatteryController.h
@@ -1,14 +1,48 @@
#pragma once
#include <cstdint>
#include <drivers/include/nrfx_saadc.h>
+#include <array>
+#include <numeric>
namespace Pinetime {
namespace Controllers {
+ /** A simple circular buffer that can be used to average
+ out the sensor values. The total capacity of the CircBuffer
+ is given as the template parameter N.
+ */
+ template <int N>
+ class CircBuffer {
+ public:
+ CircBuffer() : arr{}, sz{}, cap{N}, head{} {}
+ /**
+ insert member function overwrites the next data to the current
+ HEAD and moves the HEAD to the newly inserted value.
+ */
+ void insert(const int num) {
+ head %= cap;
+ arr[head++] = num;
+ if (sz != cap) {
+ sz++;
+ }
+ }
+
+ int GetAverage() const {
+ int sum = std::accumulate(arr.begin(), arr.end(), 0);
+ return (sum / sz);
+ }
+
+ private:
+ std::array<int, N> arr; /**< internal array used to store the values*/
+ uint8_t sz; /**< The current size of the array.*/
+ uint8_t cap; /**< Total capacity of the CircBuffer.*/
+ uint8_t head; /**< The current head of the CircBuffer*/
+ };
+
class Battery {
public:
void Init();
void Update();
- float PercentRemaining() const { return percentRemaining; }
+ int PercentRemaining() const { return percentRemainingBuffer.GetAverage(); }
float Voltage() const { return voltage; }
bool IsCharging() const { return isCharging; }
bool IsPowerPresent() const { return isPowerPresent; }
@@ -17,8 +51,9 @@ namespace Pinetime {
static constexpr uint32_t chargingPin = 12;
static constexpr uint32_t powerPresentPin = 19;
static constexpr nrf_saadc_input_t batteryVoltageAdcInput = NRF_SAADC_INPUT_AIN7;
+ static constexpr uint8_t percentRemainingSamples = 10;
static void SaadcEventHandler(nrfx_saadc_evt_t const * p_event);
- float percentRemaining = 0.0f;
+ CircBuffer<percentRemainingSamples> percentRemainingBuffer {};
float voltage = 0.0f;
bool isCharging = false;
bool isPowerPresent = false;
diff --git a/src/components/ble/HeartRateService.cpp b/src/components/ble/HeartRateService.cpp
new file mode 100644
index 00000000..ecd6235d
--- /dev/null
+++ b/src/components/ble/HeartRateService.cpp
@@ -0,0 +1,82 @@
+#include "HeartRateService.h"
+#include "components/heartrate/HeartRateController.h"
+#include "systemtask/SystemTask.h"
+
+using namespace Pinetime::Controllers;
+
+constexpr ble_uuid16_t HeartRateService::heartRateServiceUuid;
+constexpr ble_uuid16_t HeartRateService::heartRateMeasurementUuid;
+
+namespace {
+ int HeartRateServiceServiceCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) {
+ auto* heartRateService = static_cast<HeartRateService*>(arg);
+ return heartRateService->OnHeartRateRequested(conn_handle, attr_handle, ctxt);
+ }
+}
+
+// TODO Refactoring - remove dependency to SystemTask
+HeartRateService::HeartRateService(Pinetime::System::SystemTask &system, Controllers::HeartRateController& heartRateController) :
+ system{system},
+ heartRateController{heartRateController},
+ characteristicDefinition{
+ {
+ .uuid = (ble_uuid_t *) &heartRateMeasurementUuid,
+ .access_cb = HeartRateServiceServiceCallback,
+ .arg = this,
+ .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_NOTIFY,
+ .val_handle = &heartRateMeasurementHandle
+ },
+ {
+ 0
+ }
+ },
+ serviceDefinition{
+ {
+ /* Device Information Service */
+ .type = BLE_GATT_SVC_TYPE_PRIMARY,
+ .uuid = (ble_uuid_t *) &heartRateServiceUuid,
+ .characteristics = characteristicDefinition
+ },
+ {
+ 0
+ },
+ }{
+ // TODO refactor to prevent this loop dependency (service depends on controller and controller depends on service)
+ heartRateController.SetService(this);
+}
+
+void HeartRateService::Init() {
+ int res = 0;
+ res = ble_gatts_count_cfg(serviceDefinition);
+ ASSERT(res == 0);
+
+ res = ble_gatts_add_svcs(serviceDefinition);
+ ASSERT(res == 0);
+}
+
+int HeartRateService::OnHeartRateRequested(uint16_t connectionHandle, uint16_t attributeHandle,
+ ble_gatt_access_ctxt *context) {
+ if(attributeHandle == heartRateMeasurementHandle) {
+ NRF_LOG_INFO("BATTERY : handle = %d", heartRateMeasurementHandle);
+ static uint8_t batteryValue = heartRateController.HeartRate();
+
+ uint8_t buffer[2] = {0, heartRateController.HeartRate()}; // [0] = flags, [1] = hr value
+
+ int res = os_mbuf_append(context->om, buffer, 2);
+ return (res == 0) ? 0 : BLE_ATT_ERR_INSUFFICIENT_RES;
+ }
+ return 0;
+}
+
+void HeartRateService::OnNewHeartRateValue(uint8_t heartRateValue) {
+ uint8_t buffer[2] = {0, heartRateController.HeartRate()}; // [0] = flags, [1] = hr value
+ auto *om = ble_hs_mbuf_from_flat(buffer, 2);
+
+ uint16_t connectionHandle = system.nimble().connHandle();
+
+ if (connectionHandle == 0 || connectionHandle == BLE_HS_CONN_HANDLE_NONE) {
+ return;
+ }
+
+ ble_gattc_notify_custom(connectionHandle, heartRateMeasurementHandle, om);
+}
diff --git a/src/components/ble/HeartRateService.h b/src/components/ble/HeartRateService.h
new file mode 100644
index 00000000..835e2941
--- /dev/null
+++ b/src/components/ble/HeartRateService.h
@@ -0,0 +1,44 @@
+#pragma once
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
+#include <host/ble_gap.h>
+#undef max
+#undef min
+
+namespace Pinetime {
+ namespace System {
+ class SystemTask;
+ }
+ namespace Controllers {
+ class HeartRateController;
+ class HeartRateService {
+ public:
+ HeartRateService(Pinetime::System::SystemTask &system, Controllers::HeartRateController& heartRateController);
+ void Init();
+ int OnHeartRateRequested(uint16_t connectionHandle, uint16_t attributeHandle, ble_gatt_access_ctxt *context);
+ void OnNewHeartRateValue(uint8_t hearRateValue);
+
+ private:
+ Pinetime::System::SystemTask &system;
+ Controllers::HeartRateController& heartRateController;
+ static constexpr uint16_t heartRateServiceId {0x180D};
+ static constexpr uint16_t heartRateMeasurementId {0x2A37};
+
+ static constexpr ble_uuid16_t heartRateServiceUuid {
+ .u {.type = BLE_UUID_TYPE_16},
+ .value = heartRateServiceId
+ };
+
+ static constexpr ble_uuid16_t heartRateMeasurementUuid {
+ .u {.type = BLE_UUID_TYPE_16},
+ .value = heartRateMeasurementId
+ };
+
+ struct ble_gatt_chr_def characteristicDefinition[3];
+ struct ble_gatt_svc_def serviceDefinition[2];
+
+ uint16_t heartRateMeasurementHandle;
+
+ };
+ }
+}
diff --git a/src/components/ble/MusicService.cpp b/src/components/ble/MusicService.cpp
index fdecb6b3..bd6e27fb 100644
--- a/src/components/ble/MusicService.cpp
+++ b/src/components/ble/MusicService.cpp
@@ -24,32 +24,68 @@ int MSCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_acces
}
Pinetime::Controllers::MusicService::MusicService(Pinetime::System::SystemTask &system) : m_system(system) {
- msUuid.value[11] = msId[0];
- msUuid.value[12] = msId[1];
- msEventCharUuid.value[11] = msEventCharId[0];
- msEventCharUuid.value[12] = msEventCharId[1];
- msStatusCharUuid.value[11] = msStatusCharId[0];
- msStatusCharUuid.value[12] = msStatusCharId[1];
- msTrackCharUuid.value[11] = msTrackCharId[0];
- msTrackCharUuid.value[12] = msTrackCharId[1];
- msArtistCharUuid.value[11] = msArtistCharId[0];
- msArtistCharUuid.value[12] = msArtistCharId[1];
- msAlbumCharUuid.value[11] = msAlbumCharId[0];
- msAlbumCharUuid.value[12] = msAlbumCharId[1];
- msPositionCharUuid.value[11] = msPositionCharId[0];
- msPositionCharUuid.value[12] = msPositionCharId[1];
- msTotalLengthCharUuid.value[11] = msTotalLengthCharId[0];
- msTotalLengthCharUuid.value[12] = msTotalLengthCharId[1];
- msTrackNumberCharUuid.value[11] = msTrackNumberCharId[0];
- msTrackNumberCharUuid.value[12] = msTrackNumberCharId[1];
- msTrackTotalCharUuid.value[11] = msTrackTotalCharId[0];
- msTrackTotalCharUuid.value[12] = msTrackTotalCharId[1];
- msPlaybackSpeedCharUuid.value[11] = msPlaybackSpeedCharId[0];
- msPlaybackSpeedCharUuid.value[12] = msPlaybackSpeedCharId[1];
- msRepeatCharUuid.value[11] = msRepeatCharId[0];
- msRepeatCharUuid.value[12] = msRepeatCharId[1];
- msShuffleCharUuid.value[11] = msShuffleCharId[0];
- msShuffleCharUuid.value[12] = msShuffleCharId[1];
+ msUuid.value[14] = msId[0];
+ msUuid.value[15] = msId[1];
+
+ msEventCharUuid.value[12] = msEventCharId[0];
+ msEventCharUuid.value[13] = msEventCharId[1];
+ msEventCharUuid.value[14] = msId[0];
+ msEventCharUuid.value[15] = msId[1];
+
+ msStatusCharUuid.value[12] = msStatusCharId[0];
+ msStatusCharUuid.value[13] = msStatusCharId[1];
+ msStatusCharUuid.value[14] = msId[0];
+ msStatusCharUuid.value[15] = msId[1];
+
+ msTrackCharUuid.value[12] = msTrackCharId[0];
+ msTrackCharUuid.value[13] = msTrackCharId[1];
+ msTrackCharUuid.value[14] = msId[0];
+ msTrackCharUuid.value[15] = msId[1];
+
+ msArtistCharUuid.value[12] = msArtistCharId[0];
+ msArtistCharUuid.value[13] = msArtistCharId[1];
+ msArtistCharUuid.value[14] = msId[0];
+ msArtistCharUuid.value[15] = msId[1];
+
+ msAlbumCharUuid.value[12] = msAlbumCharId[0];
+ msAlbumCharUuid.value[13] = msAlbumCharId[1];
+ msAlbumCharUuid.value[14] = msId[0];
+ msAlbumCharUuid.value[15] = msId[1];
+
+ msPositionCharUuid.value[12] = msPositionCharId[0];
+ msPositionCharUuid.value[13] = msPositionCharId[1];
+ msPositionCharUuid.value[14] = msId[0];
+ msPositionCharUuid.value[15] = msId[1];
+
+ msTotalLengthCharUuid.value[12] = msTotalLengthCharId[0];
+ msTotalLengthCharUuid.value[13] = msTotalLengthCharId[1];
+ msTotalLengthCharUuid.value[14] = msId[0];
+ msTotalLengthCharUuid.value[15] = msId[1];
+
+ msTrackNumberCharUuid.value[12] = msTrackNumberCharId[0];
+ msTrackNumberCharUuid.value[13] = msTrackNumberCharId[1];
+ msTrackNumberCharUuid.value[14] = msId[0];
+ msTrackNumberCharUuid.value[15] = msId[1];
+
+ msTrackTotalCharUuid.value[12] = msTrackTotalCharId[0];
+ msTrackTotalCharUuid.value[13] = msTrackTotalCharId[1];
+ msTrackTotalCharUuid.value[14] = msId[0];
+ msTrackTotalCharUuid.value[15] = msId[1];
+
+ msPlaybackSpeedCharUuid.value[12] = msPlaybackSpeedCharId[0];
+ msPlaybackSpeedCharUuid.value[13] = msPlaybackSpeedCharId[1];
+ msPlaybackSpeedCharUuid.value[14] = msId[0];
+ msPlaybackSpeedCharUuid.value[15] = msId[1];
+
+ msRepeatCharUuid.value[12] = msRepeatCharId[0];
+ msRepeatCharUuid.value[13] = msRepeatCharId[1];
+ msRepeatCharUuid.value[14] = msId[0];
+ msRepeatCharUuid.value[15] = msId[1];
+
+ msShuffleCharUuid.value[12] = msShuffleCharId[0];
+ msShuffleCharUuid.value[13] = msShuffleCharId[1];
+ msShuffleCharUuid.value[14] = msId[0];
+ msShuffleCharUuid.value[15] = msId[1];
characteristicDefinition[0] = {.uuid = (ble_uuid_t *) (&msEventCharUuid),
.access_cb = MSCallback,
diff --git a/src/components/ble/MusicService.h b/src/components/ble/MusicService.h
index ab8dc2b1..172ab61c 100644
--- a/src/components/ble/MusicService.h
+++ b/src/components/ble/MusicService.h
@@ -26,8 +26,8 @@
#undef max
#undef min
-//c7e50000-78fc-48fe-8e23-433b3a1942d0
-#define MUSIC_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0xe5, 0xc7}
+//00000000-78fc-48fe-8e23-433b3a1942d0
+#define MUSIC_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00}
namespace Pinetime {
namespace System {
@@ -73,19 +73,19 @@ namespace Pinetime {
Playing = 0x01
};
private:
- static constexpr uint8_t msId[2] = {0x00, 0x01};
- static constexpr uint8_t msEventCharId[2] = {0x00, 0x02};
- static constexpr uint8_t msStatusCharId[2] = {0x00, 0x03};
- static constexpr uint8_t msArtistCharId[2] = {0x00, 0x04};
- static constexpr uint8_t msTrackCharId[2] = {0x00, 0x05};
- static constexpr uint8_t msAlbumCharId[2] = {0x00, 0x06};
- static constexpr uint8_t msPositionCharId[2] = {0x00, 0x07};
- static constexpr uint8_t msTotalLengthCharId[2] = {0x00, 0x08};
- static constexpr uint8_t msTrackNumberCharId[2] = {0x00, 0x09};
- static constexpr uint8_t msTrackTotalCharId[2] = {0x00, 0x0a};
- static constexpr uint8_t msPlaybackSpeedCharId[2] = {0x00, 0x0b};
- static constexpr uint8_t msRepeatCharId[2] = {0x00, 0x0c};
- static constexpr uint8_t msShuffleCharId[2] = {0x00, 0x0d};
+ static constexpr uint8_t msId[2] = {0x00, 0x00};
+ static constexpr uint8_t msEventCharId[2] = {0x01, 0x00};
+ static constexpr uint8_t msStatusCharId[2] = {0x02, 0x00};
+ static constexpr uint8_t msArtistCharId[2] = {0x03, 0x00};
+ static constexpr uint8_t msTrackCharId[2] = {0x04, 0x00};
+ static constexpr uint8_t msAlbumCharId[2] = {0x05, 0x00};
+ static constexpr uint8_t msPositionCharId[2] = {0x06, 0x00};
+ static constexpr uint8_t msTotalLengthCharId[2] = {0x07, 0x00};
+ static constexpr uint8_t msTrackNumberCharId[2] = {0x08, 0x00};
+ static constexpr uint8_t msTrackTotalCharId[2] = {0x09, 0x00};
+ static constexpr uint8_t msPlaybackSpeedCharId[2] = {0x0a, 0x00};
+ static constexpr uint8_t msRepeatCharId[2] = {0x0b, 0x00};
+ static constexpr uint8_t msShuffleCharId[2] = {0x0c, 0x00};
ble_uuid128_t msUuid{
.u = {.type = BLE_UUID_TYPE_128},
diff --git a/src/components/ble/NavigationService.cpp b/src/components/ble/NavigationService.cpp
new file mode 100644
index 00000000..3c1fd162
--- /dev/null
+++ b/src/components/ble/NavigationService.cpp
@@ -0,0 +1,137 @@
+/* Copyright (C) 2021 Adam Pigg
+
+ This file is part of InfiniTime.
+
+ InfiniTime is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ InfiniTime is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "NavigationService.h"
+
+#include "systemtask/SystemTask.h"
+
+int NAVCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) {
+ auto navService = static_cast<Pinetime::Controllers::NavigationService *>(arg);
+ return navService->OnCommand(conn_handle, attr_handle, ctxt);
+}
+
+Pinetime::Controllers::NavigationService::NavigationService(Pinetime::System::SystemTask &system) : m_system(system) {
+ navUuid.value[14] = navId[0];
+ navUuid.value[15] = navId[1];
+
+ navFlagCharUuid.value[12] = navFlagCharId[0];
+ navFlagCharUuid.value[13] = navFlagCharId[1];
+ navFlagCharUuid.value[14] = navId[0];
+ navFlagCharUuid.value[15] = navId[1];
+
+ navNarrativeCharUuid.value[12] = navNarrativeCharId[0];
+ navNarrativeCharUuid.value[13] = navNarrativeCharId[1];
+ navNarrativeCharUuid.value[14] = navId[0];
+ navNarrativeCharUuid.value[15] = navId[1];
+
+ navManDistCharUuid.value[12] = navManDistCharId[0];
+ navManDistCharUuid.value[13] = navManDistCharId[1];
+ navManDistCharUuid.value[14] = navId[0];
+ navManDistCharUuid.value[15] = navId[1];
+
+ navProgressCharUuid.value[12] = navProgressCharId[0];
+ navProgressCharUuid.value[13] = navProgressCharId[1];
+ navProgressCharUuid.value[14] = navId[0];
+ navProgressCharUuid.value[15] = navId[1];
+
+ characteristicDefinition[0] = {.uuid = (ble_uuid_t *) (&navFlagCharUuid),
+ .access_cb = NAVCallback,
+ .arg = this,
+ .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ
+ };
+
+ characteristicDefinition[1] = {.uuid = (ble_uuid_t *) (&navNarrativeCharUuid),
+ .access_cb = NAVCallback,
+ .arg = this,
+ .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ
+ };
+ characteristicDefinition[2] = {.uuid = (ble_uuid_t *) (&navManDistCharUuid),
+ .access_cb = NAVCallback,
+ .arg = this,
+ .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ
+ };
+ characteristicDefinition[3] = {.uuid = (ble_uuid_t *) (&navProgressCharUuid),
+ .access_cb = NAVCallback,
+ .arg = this,
+ .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ
+ };
+
+ characteristicDefinition[4] = {0};
+
+ serviceDefinition[0] = {
+ .type = BLE_GATT_SVC_TYPE_PRIMARY,
+ .uuid = (ble_uuid_t *) &navUuid,
+ .characteristics = characteristicDefinition
+ };
+ serviceDefinition[1] = {0};
+
+ m_progress = 0;
+}
+
+void Pinetime::Controllers::NavigationService::Init() {
+ int res = 0;
+ res = ble_gatts_count_cfg(serviceDefinition);
+ ASSERT(res == 0);
+
+ res = ble_gatts_add_svcs(serviceDefinition);
+ ASSERT(res == 0);
+}
+
+int Pinetime::Controllers::NavigationService::OnCommand(uint16_t conn_handle, uint16_t attr_handle,
+ struct ble_gatt_access_ctxt *ctxt) {
+
+ if (ctxt->op == BLE_GATT_ACCESS_OP_WRITE_CHR) {
+ size_t notifSize = OS_MBUF_PKTLEN(ctxt->om);
+ uint8_t data[notifSize + 1];
+ data[notifSize] = '\0';
+ os_mbuf_copydata(ctxt->om, 0, notifSize, data);
+ char *s = (char *) &data[0];
+ NRF_LOG_INFO("DATA : %s", s);
+ if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navFlagCharUuid) == 0) {
+ m_flag = s;
+ } else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navNarrativeCharUuid) == 0) {
+ m_narrative = s;
+ } else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navManDistCharUuid) == 0) {
+ m_manDist = s;
+ } else if (ble_uuid_cmp(ctxt->chr->uuid, (ble_uuid_t *) &navProgressCharUuid) == 0) {
+ m_progress = data[0];
+ }
+ }
+ return 0;
+}
+
+std::string Pinetime::Controllers::NavigationService::getFlag()
+{
+ return m_flag;
+}
+
+std::string Pinetime::Controllers::NavigationService::getNarrative()
+{
+ return m_narrative;
+}
+
+std::string Pinetime::Controllers::NavigationService::getManDist()
+{
+ return m_manDist;
+}
+
+int Pinetime::Controllers::NavigationService::getProgress()
+{
+ return m_progress;
+}
+
diff --git a/src/components/ble/NavigationService.h b/src/components/ble/NavigationService.h
new file mode 100644
index 00000000..29b17582
--- /dev/null
+++ b/src/components/ble/NavigationService.h
@@ -0,0 +1,96 @@
+/* Copyright (C) 2021 Adam Pigg
+
+ This file is part of InfiniTime.
+
+ InfiniTime is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ InfiniTime is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+#include <cstdint>
+#include <string>
+#define min // workaround: nimble's min/max macros conflict with libstdc++
+#define max
+#include <host/ble_gap.h>
+#include <host/ble_uuid.h>
+#undef max
+#undef min
+
+//c7e60000-78fc-48fe-8e23-433b3a1942d0
+#define NAVIGATION_SERVICE_UUID_BASE {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00}
+
+namespace Pinetime {
+ namespace System {
+ class SystemTask;
+ }
+ namespace Controllers {
+
+ class NavigationService {
+ public:
+ explicit NavigationService(Pinetime::System::SystemTask &system);
+
+ void Init();
+
+ int OnCommand(uint16_t conn_handle, uint16_t attr_handle,
+ struct ble_gatt_access_ctxt *ctxt);
+
+ std::string getFlag();
+
+ std::string getNarrative();
+
+ std::string getManDist();
+
+ int getProgress();
+
+ private:
+ static constexpr uint8_t navId[2] = {0x01, 0x00};
+ static constexpr uint8_t navFlagCharId[2] = {0x01, 0x00};
+ static constexpr uint8_t navNarrativeCharId[2] = {0x02, 0x00};
+ static constexpr uint8_t navManDistCharId[2] = {0x03, 0x00};
+ static constexpr uint8_t navProgressCharId[2] = {0x04, 0x00};
+
+ ble_uuid128_t navUuid{
+ .u = {.type = BLE_UUID_TYPE_128},
+ .value = NAVIGATION_SERVICE_UUID_BASE
+ };
+
+ ble_uuid128_t navFlagCharUuid{
+ .u = {.type = BLE_UUID_TYPE_128},
+ .value = NAVIGATION_SERVICE_UUID_BASE
+ };
+ ble_uuid128_t navNarrativeCharUuid{
+ .u = {.type = BLE_UUID_TYPE_128},
+ .value = NAVIGATION_SERVICE_UUID_BASE
+ };
+ ble_uuid128_t navManDistCharUuid{
+ .u = {.type = BLE_UUID_TYPE_128},
+ .value = NAVIGATION_SERVICE_UUID_BASE
+ };
+ ble_uuid128_t navProgressCharUuid{
+ .u = {.type = BLE_UUID_TYPE_128},
+ .value = NAVIGATION_SERVICE_UUID_BASE
+ };
+
+ struct ble_gatt_chr_def characteristicDefinition[5];
+ struct ble_gatt_svc_def serviceDefinition[2];
+
+ std::string m_flag;
+ std::string m_narrative;
+ std::string m_manDist;
+ int m_progress;
+
+ Pinetime::System::SystemTask &m_system;
+ };
+ }
+}
+
diff --git a/src/components/ble/NimbleController.cpp b/src/components/ble/NimbleController.cpp
index a6f3cc39..f2786ea1 100644
--- a/src/components/ble/NimbleController.cpp
+++ b/src/components/ble/NimbleController.cpp
@@ -22,7 +22,8 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask,
DateTime& dateTimeController,
Pinetime::Controllers::NotificationManager& notificationManager,
Controllers::Battery& batteryController,
- Pinetime::Drivers::SpiNorFlash& spiNorFlash) :
+ Pinetime::Drivers::SpiNorFlash& spiNorFlash,
+ Controllers::HeartRateController& heartRateController) :
systemTask{systemTask},
bleController{bleController},
dateTimeController{dateTimeController},
@@ -34,9 +35,11 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask,
alertNotificationClient{systemTask, notificationManager},
currentTimeService{dateTimeController},
musicService{systemTask},
+ navService{systemTask},
batteryInformationService{batteryController},
immediateAlertService{systemTask, notificationManager},
- serviceDiscovery({&currentTimeClient, &alertNotificationClient}) {
+ serviceDiscovery({&currentTimeClient, &alertNotificationClient}),
+ heartRateService{systemTask, heartRateController} {
}
int GAPEventCallback(struct ble_gap_event *event, void *arg) {
@@ -54,10 +57,12 @@ void NimbleController::Init() {
currentTimeClient.Init();
currentTimeService.Init();
musicService.Init();
+ navService.Init();
anService.Init();
dfuService.Init();
batteryInformationService.Init();
immediateAlertService.Init();
+ heartRateService.Init();
int res;
res = ble_hs_util_ensure_addr(0);
ASSERT(res == 0);
diff --git a/src/components/ble/NimbleController.h b/src/components/ble/NimbleController.h
index 914f11e6..a109800c 100644
--- a/src/components/ble/NimbleController.h
+++ b/src/components/ble/NimbleController.h
@@ -16,7 +16,9 @@
#include "DfuService.h"
#include "ImmediateAlertService.h"
#include "MusicService.h"
+#include "NavigationService.h"
#include "ServiceDiscovery.h"
+#include "HeartRateService.h"
namespace Pinetime {
namespace Drivers {
@@ -37,7 +39,8 @@ namespace Pinetime {
public:
NimbleController(Pinetime::System::SystemTask& systemTask, Pinetime::Controllers::Ble& bleController,
DateTime& dateTimeController, Pinetime::Controllers::NotificationManager& notificationManager,
- Controllers::Battery& batteryController, Pinetime::Drivers::SpiNorFlash& spiNorFlash);
+ Controllers::Battery& batteryController, Pinetime::Drivers::SpiNorFlash& spiNorFlash,
+ Controllers::HeartRateController& heartRateController);
void Init();
void StartAdvertising();
int OnGAPEvent(ble_gap_event *event);
@@ -54,6 +57,7 @@ namespace Pinetime {
void StartDiscovery();
Pinetime::Controllers::MusicService& music() {return musicService;};
+ Pinetime::Controllers::NavigationService& navigation() {return navService;};
uint16_t connHandle();
@@ -72,8 +76,10 @@ namespace Pinetime {
AlertNotificationClient alertNotificationClient;
CurrentTimeService currentTimeService;
MusicService musicService;
+ NavigationService navService;
BatteryInformationService batteryInformationService;
ImmediateAlertService immediateAlertService;
+ HeartRateService heartRateService;
uint8_t addrType; // 1 = Random, 0 = PUBLIC
uint16_t connectionHandle = 0;
diff --git a/src/components/heartrate/Biquad.cpp b/src/components/heartrate/Biquad.cpp
new file mode 100644
index 00000000..6a4b8181
--- /dev/null
+++ b/src/components/heartrate/Biquad.cpp
@@ -0,0 +1,27 @@
+/*
+ SPDX-License-Identifier: LGPL-3.0-or-later
+ Original work Copyright (C) 2020 Daniel Thompson
+ C++ port Copyright (C) 2021 Jean-François Milants
+*/
+
+#include "Biquad.h"
+
+using namespace Pinetime::Controllers;
+
+/** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */
+Biquad::Biquad(float b0, float b1, float b2, float a1, float a2) : b0{b0}, b1{b1}, b2{b2}, a1{a1}, a2{a2} {
+
+}
+
+float Biquad::Step(float x) {
+ auto v1 = this->v1;
+ auto v2 = this->v2;
+
+ auto v = x - (a1 * v1) - (a2 * v2);
+ auto y = (b0 * v) + (b1 * v1) + (b2 * v2);
+
+ this->v2 = v1;
+ this->v1 = v;
+
+ return y;
+}
diff --git a/src/components/heartrate/Biquad.h b/src/components/heartrate/Biquad.h
new file mode 100644
index 00000000..dc9b97f6
--- /dev/null
+++ b/src/components/heartrate/Biquad.h
@@ -0,0 +1,22 @@
+#pragma once
+
+namespace Pinetime {
+ namespace Controllers {
+ /// Direct Form II Biquad Filter
+ class Biquad {
+ public:
+ Biquad(float b0, float b1, float b2, float a1, float a2);
+ float Step(float x);
+
+ private:
+ float b0;
+ float b1;
+ float b2;
+ float a1;
+ float a2;
+
+ float v1 = 0.0f;
+ float v2 = 0.0f;
+ };
+ }
+}
diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp
new file mode 100644
index 00000000..d0b0d513
--- /dev/null
+++ b/src/components/heartrate/HeartRateController.cpp
@@ -0,0 +1,41 @@
+#include "HeartRateController.h"
+#include <heartratetask/HeartRateTask.h>
+#include <systemtask/SystemTask.h>
+
+using namespace Pinetime::Controllers;
+
+HeartRateController::HeartRateController(Pinetime::System::SystemTask &systemTask) : systemTask{systemTask} {
+
+}
+
+
+void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) {
+ this->state = newState;
+ if(this->heartRate != heartRate) {
+ this->heartRate = heartRate;
+ service->OnNewHeartRateValue(heartRate);
+ }
+}
+
+void HeartRateController::Start() {
+ if(task != nullptr) {
+ state = States::NotEnoughData;
+ task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement);
+ }
+}
+
+void HeartRateController::Stop() {
+ if(task != nullptr) {
+ state = States::Stopped;
+ task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement);
+ }
+}
+
+void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask *task) {
+ this->task = task;
+}
+
+void HeartRateController::SetService(Pinetime::Controllers::HeartRateService *service) {
+ this->service = service;
+}
+
diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h
new file mode 100644
index 00000000..001111b5
--- /dev/null
+++ b/src/components/heartrate/HeartRateController.h
@@ -0,0 +1,38 @@
+#pragma once
+
+#include <cstdint>
+#include <components/ble/HeartRateService.h>
+
+namespace Pinetime {
+ namespace Applications {
+ class HeartRateTask;
+ }
+ namespace System {
+ class SystemTask;
+ }
+ namespace Controllers {
+ class HeartRateController {
+ public:
+ enum class States { Stopped, NotEnoughData, NoTouch, Running};
+
+ explicit HeartRateController(System::SystemTask& systemTask);
+
+ void Start();
+ void Stop();
+ void Update(States newState, uint8_t heartRate);
+
+ void SetHeartRateTask(Applications::HeartRateTask* task);
+ States State() const { return state; }
+ uint8_t HeartRate() const { return heartRate; }
+
+ void SetService(Pinetime::Controllers::HeartRateService *service);
+
+ private:
+ System::SystemTask& systemTask;
+ Applications::HeartRateTask* task = nullptr;
+ States state = States::Stopped;
+ uint8_t heartRate = 0;
+ Pinetime::Controllers::HeartRateService* service = nullptr;
+ };
+ }
+} \ No newline at end of file
diff --git a/src/components/heartrate/Ppg.cpp b/src/components/heartrate/Ppg.cpp
new file mode 100644
index 00000000..233c3003
--- /dev/null
+++ b/src/components/heartrate/Ppg.cpp
@@ -0,0 +1,106 @@
+/*
+ SPDX-License-Identifier: LGPL-3.0-or-later
+ Original work Copyright (C) 2020 Daniel Thompson
+ C++ port Copyright (C) 2021 Jean-François Milants
+*/
+
+#include <vector>
+#include <nrf_log.h>
+#include "Ppg.h"
+using namespace Pinetime::Controllers;
+
+/** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */
+namespace {
+ int Compare(int* d1, int* d2, size_t count) {
+ int e = 0;
+ for(int i = 0; i < count; i++) {
+ auto d = d1[i] - d2[i];
+ e += d * d;
+ }
+ return e;
+ }
+
+ int CompareShift(int* d, int shift, size_t count) {
+ return Compare(d +shift, d, count - shift);
+ }
+
+ int Trough(int* d, size_t size, float mn, float mx) {
+ auto z2 = CompareShift(d, mn-2, size);
+ auto z1 = CompareShift(d, mn-1, size);
+ for(int i = mn; i < mx + 1; i++) {
+ auto z = CompareShift(d, i, size);
+ if(z2 > z1 && z1 < z)
+ return i;
+ z2 = z1;
+ z1 = z;
+ }
+ return -1;
+ }
+}
+
+Ppg::Ppg(float spl) : offset{spl},
+ hpf{0.87033078, -1.74066156, 0.87033078,-1.72377617, 0.75754694},
+ agc{20, 0.971, 2},
+ lpf{0.11595249, 0.23190498, 0.11595249,-0.72168143, 0.18549138} {
+
+}
+
+int Ppg::Preprocess(float spl) {
+ spl -= offset;
+ spl = hpf.Step(spl);
+ spl = agc.Step(spl);
+ spl = lpf.Step(spl);
+
+ auto spl_int = static_cast<int>(spl);
+
+ if(dataIndex < 200)
+ data[dataIndex++] = spl_int;
+ return spl_int;
+}
+
+float Ppg::HeartRate() {
+ if(dataIndex < 200)
+ return 0;
+
+ NRF_LOG_INFO("PREPROCESS, offset = %d", offset);
+ auto hr = ProcessHeartRate();
+ dataIndex = 0;
+ return hr;
+}
+
+int cccount = 0;
+float Ppg::ProcessHeartRate() {
+
+ if(cccount > 2)
+ asm("nop");
+ cccount ++;
+ auto t0 = Trough(data.data(), dataIndex, 7, 48);
+ if(t0 < 0)
+ return 0;
+
+ float t1 = t0 * 2;
+ t1 = Trough(data.data(), dataIndex, t1-5, t1+5);
+ if(t1 < 0)
+ return 0;
+
+ float t2 = static_cast<int>(t1 * 3) / 2;
+ t2 = Trough(data.data(), dataIndex, t2 - 5, t2 + 5);
+ if(t2 < 0)
+ return 0;
+
+ float t3 = static_cast<int>(t2 * 4) / 3;
+ t3 = Trough(data.data(), dataIndex, t3 - 4, t3 + 4);
+ if(t3 < 0)
+ return static_cast<int>(60 * 24 * 3) / static_cast<int>(t2);
+
+ return static_cast<int>(60 * 24 * 4) / static_cast<int>(t3);
+}
+
+void Ppg::SetOffset(uint16_t offset) {
+ this->offset = offset;
+ dataIndex = 0;
+}
+
+void Ppg::Reset() {
+ dataIndex = 0;
+}
diff --git a/src/components/heartrate/Ppg.h b/src/components/heartrate/Ppg.h
new file mode 100644
index 00000000..747ae019
--- /dev/null
+++ b/src/components/heartrate/Ppg.h
@@ -0,0 +1,31 @@
+#pragma once
+
+#include <array>
+#include "Biquad.h"
+#include "Ptagc.h"
+
+namespace Pinetime {
+ namespace Controllers {
+ class Ppg {
+ public:
+ explicit Ppg(float spl);
+
+ int Preprocess(float spl);
+ float HeartRate();
+
+ void SetOffset(uint16_t i);
+ void Reset();
+
+ private:
+ std::array<int, 200> data;
+ size_t dataIndex = 0;
+ float offset;
+ Biquad hpf;
+ Ptagc agc;
+ Biquad lpf;
+
+
+ float ProcessHeartRate();
+ };
+ }
+} \ No newline at end of file
diff --git a/src/components/heartrate/Ptagc.cpp b/src/components/heartrate/Ptagc.cpp
new file mode 100644
index 00000000..dd7c4411
--- /dev/null
+++ b/src/components/heartrate/Ptagc.cpp
@@ -0,0 +1,28 @@
+/*
+ SPDX-License-Identifier: LGPL-3.0-or-later
+ Original work Copyright (C) 2020 Daniel Thompson
+ C++ port Copyright (C) 2021 Jean-François Milants
+*/
+
+#include <cmath>
+#include "Ptagc.h"
+
+using namespace Pinetime::Controllers;
+
+/** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */
+Ptagc::Ptagc(float start, float decay, float threshold) : peak{start}, decay{decay}, boost{1.0f/decay}, threshold{threshold} {
+
+}
+
+float Ptagc::Step(float spl) {
+ if(std::abs(spl) > peak)
+ peak *= boost;
+ else
+ peak *= decay;
+
+ if((spl > (peak * threshold)) || (spl < (peak * -threshold)))
+ return 0.0f;
+
+ spl = 100.0f * spl / (2.0f * peak);
+ return spl;
+}
diff --git a/src/components/heartrate/Ptagc.h b/src/components/heartrate/Ptagc.h
new file mode 100644
index 00000000..c20de4c0
--- /dev/null
+++ b/src/components/heartrate/Ptagc.h
@@ -0,0 +1,18 @@
+#pragma once
+
+namespace Pinetime {
+ namespace Controllers {
+ class Ptagc {
+ public:
+ Ptagc(float start, float decay, float threshold);
+ float Step(float spl);
+
+ private:
+ float peak;
+ float decay;
+ float boost;
+ float threshold;
+
+ };
+ }
+}
diff --git a/src/displayapp/Apps.h b/src/displayapp/Apps.h
index f5fb24d0..69aedb37 100644
--- a/src/displayapp/Apps.h
+++ b/src/displayapp/Apps.h
@@ -2,6 +2,6 @@
namespace Pinetime {
namespace Applications {
- enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music, FirmwareValidation, Paint, Paddle, Notifications, Twos};
+ enum class Apps {None, Launcher, Clock, SysInfo, Meter, Gauge, Brightness, Music, FirmwareValidation, Paint, Paddle, Notifications, Twos, HeartRate, Navigation};
}
}
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp
index 162d0226..b6ad90b4 100644
--- a/src/displayapp/DisplayApp.cpp
+++ b/src/displayapp/DisplayApp.cpp
@@ -1,5 +1,6 @@
#include "DisplayApp.h"
#include <libraries/log/nrf_log.h>
+#include <displayapp/screens/HeartRate.h>
#include "components/battery/BatteryController.h"
#include "components/ble/BleController.h"
#include "components/datetime/DateTimeController.h"
@@ -14,6 +15,7 @@
#include "displayapp/screens/Paddle.h"
#include "displayapp/screens/Meter.h"
#include "displayapp/screens/Music.h"
+#include "displayapp/screens/Navigation.h"
#include "displayapp/screens/Notifications.h"
#include "displayapp/screens/SystemInfo.h"
#include "displayapp/screens/Tile.h"
@@ -29,7 +31,8 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
Controllers::Battery &batteryController, Controllers::Ble &bleController,
Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog,
System::SystemTask &systemTask,
- Pinetime::Controllers::NotificationManager& notificationManager) :
+ Pinetime::Controllers::NotificationManager& notificationManager,
+ Pinetime::Controllers::HeartRateController& heartRateController) :
lcd{lcd},
lvgl{lvgl},
batteryController{batteryController},
@@ -37,9 +40,10 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
dateTimeController{dateTimeController},
watchdog{watchdog},
touchPanel{touchPanel},
- currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager) },
+ currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager, heartRateController) },
systemTask{systemTask},
- notificationManager{notificationManager} {
+ notificationManager{notificationManager},
+ heartRateController{heartRateController} {
msgQueue = xQueueCreate(queueSize, itemSize);
onClockApp = true;
modal.reset(new Screens::Modal(this));
@@ -197,7 +201,7 @@ void DisplayApp::RunningState() {
case Apps::None:
case Apps::Launcher: currentScreen.reset(new Screens::ApplicationList(this)); break;
case Apps::Clock:
- currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager));
+ currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager, heartRateController));
onClockApp = true;
break;
// case Apps::Test: currentScreen.reset(new Screens::Message(this)); break;
@@ -209,8 +213,10 @@ void DisplayApp::RunningState() {
case Apps::Paddle: currentScreen.reset(new Screens::Paddle(this, lvgl)); break;
case Apps::Brightness : currentScreen.reset(new Screens::Brightness(this, brightnessController)); break;
case Apps::Music : currentScreen.reset(new Screens::Music(this, systemTask.nimble().music())); break;
+ case Apps::Navigation : currentScreen.reset(new Screens::Navigation(this, systemTask.nimble().navigation())); break;
case Apps::FirmwareValidation: currentScreen.reset(new Screens::FirmwareValidation(this, validator)); break;
case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Normal)); break;
+ case Apps::HeartRate: currentScreen.reset(new Screens::HeartRate(this, heartRateController)); break;
}
nextApp = Apps::None;
}
diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h
index 25cd2813..da5a7b22 100644
--- a/src/displayapp/DisplayApp.h
+++ b/src/displayapp/DisplayApp.h
@@ -23,6 +23,7 @@ namespace Pinetime {
class Ble;
class DateTime;
class NotificationManager;
+ class HeartRateController;
}
namespace System {
@@ -42,7 +43,8 @@ namespace Pinetime {
Controllers::Battery &batteryController, Controllers::Ble &bleController,
Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog,
System::SystemTask &systemTask,
- Pinetime::Controllers::NotificationManager& notificationManager);
+ Pinetime::Controllers::NotificationManager& notificationManager,
+ Pinetime::Controllers::HeartRateController& heartRateController);
void Start();
void PushMessage(Messages msg);
@@ -87,6 +89,7 @@ namespace Pinetime {
Pinetime::Controllers::NotificationManager& notificationManager;
Pinetime::Controllers::FirmwareValidator validator;
TouchModes touchMode = TouchModes::Gestures;
+ Pinetime::Controllers::HeartRateController& heartRateController;
};
}
}
diff --git a/src/displayapp/fonts/jetbrains_mono_bold_20.c b/src/displayapp/fonts/jetbrains_mono_bold_20.c
index 620df7c3..2539eeed 100644
--- a/src/displayapp/fonts/jetbrains_mono_bold_20.c
+++ b/src/displayapp/fonts/jetbrains_mono_bold_20.c
@@ -22,36 +22,36 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x0,
/* U+21 "!" */
- 0xff, 0xff, 0xff, 0xfc, 0xf, 0xc0,
+ 0xff, 0xff, 0xff, 0xe0, 0xf, 0xc0,
/* U+22 "\"" */
0xef, 0xdf, 0xbf, 0x7e, 0xfd, 0xc0,
/* U+23 "#" */
- 0x8, 0xc3, 0x10, 0x66, 0x3f, 0xf7, 0xfe, 0x23,
+ 0x8, 0xc3, 0x10, 0x62, 0x3f, 0xf7, 0xfe, 0x23,
0x4, 0x61, 0x88, 0x31, 0x1f, 0xfb, 0xff, 0x19,
0x82, 0x30, 0xc4, 0x0,
/* U+24 "$" */
- 0x8, 0x2, 0x1, 0xe1, 0xfe, 0xfb, 0xfa, 0x7e,
- 0x83, 0xe0, 0x7e, 0xf, 0xe0, 0xf8, 0x27, 0x9,
- 0xfa, 0x7f, 0xf9, 0xfc, 0x8, 0x2, 0x0, 0x80,
+ 0x8, 0x2, 0x1, 0xc1, 0xfe, 0xeb, 0xf2, 0x7c,
+ 0x83, 0xa0, 0x7c, 0xf, 0xc0, 0xf8, 0x27, 0x9,
+ 0xf2, 0x7f, 0xf9, 0xfc, 0x8, 0x2, 0x0, 0x80,
/* U+25 "%" */
- 0x78, 0x3f, 0xc6, 0xcc, 0xcc, 0xcc, 0xfd, 0x87,
- 0xb0, 0x6, 0x0, 0x7e, 0xf, 0xf1, 0xb3, 0x33,
- 0x33, 0x33, 0x63, 0xfc, 0x1e,
+ 0x78, 0x1f, 0x83, 0x30, 0x66, 0x1f, 0xcc, 0xf2,
+ 0x1, 0x80, 0xde, 0x67, 0xf8, 0xcc, 0x19, 0x83,
+ 0x30, 0x7e, 0x7, 0x80,
/* U+26 "&" */
- 0x1e, 0xf, 0xe1, 0x8e, 0x30, 0x6, 0x0, 0x60,
- 0x1e, 0x7, 0xe6, 0xed, 0xdc, 0xf3, 0x9e, 0x73,
+ 0x1e, 0x7, 0xe1, 0xce, 0x38, 0x7, 0x0, 0x70,
+ 0x1e, 0x7, 0x66, 0xed, 0xdc, 0xf3, 0x9c, 0x73,
0xcf, 0xfc, 0xf9, 0x80,
/* U+27 "'" */
0xff, 0xff, 0xc0,
/* U+28 "(" */
- 0x2, 0x1c, 0xfb, 0xc7, 0x1c, 0x38, 0x70, 0xe1,
+ 0x2, 0x1c, 0xfb, 0xc7, 0x1e, 0x38, 0x70, 0xe1,
0xc3, 0x87, 0xe, 0x1c, 0x3c, 0x38, 0x38, 0x7c,
0x38,
@@ -62,7 +62,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
/* U+2A "*" */
0xc, 0x3, 0x8, 0xc7, 0xb7, 0x7f, 0x83, 0x1,
- 0xe0, 0xcc, 0x73, 0x88, 0x0,
+ 0xe0, 0xcc, 0x73, 0x80, 0x0,
/* U+2B "+" */
0x1c, 0x7, 0x1, 0xc3, 0xff, 0xff, 0xc7, 0x1,
@@ -72,10 +72,10 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x7b, 0x9c, 0xce, 0x60,
/* U+2D "-" */
- 0xff, 0xff, 0xc0,
+ 0xff, 0xff,
/* U+2E "." */
- 0xff, 0xf0,
+ 0x6f, 0xf6,
/* U+2F "/" */
0x1, 0xc0, 0x60, 0x38, 0xe, 0x3, 0x1, 0xc0,
@@ -83,58 +83,58 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xe, 0x3, 0x80, 0xc0, 0x70, 0x18, 0xe, 0x0,
/* U+30 "0" */
- 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
- 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
- 0x8f, 0xc0,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xed, 0xfb, 0x7e,
+ 0xdf, 0xb7, 0xed, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
+ 0x8f, 0x80,
/* U+31 "1" */
- 0x1e, 0x3f, 0x3b, 0x99, 0xc8, 0xe0, 0x70, 0x38,
- 0x1c, 0xe, 0x7, 0x3, 0x81, 0xcf, 0xff, 0xfc,
+ 0x3c, 0x3e, 0x3f, 0x13, 0x81, 0xc0, 0xe0, 0x70,
+ 0x38, 0x1c, 0xe, 0x7, 0x3, 0x8f, 0xff, 0xfc,
/* U+32 "2" */
- 0x3e, 0x3f, 0xbc, 0xfc, 0x70, 0x38, 0x1c, 0x1c,
- 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0xf, 0xff, 0xfc,
+ 0x1f, 0x1f, 0xef, 0x3f, 0x87, 0x1, 0xc0, 0x70,
+ 0x38, 0x1e, 0xf, 0x7, 0x87, 0x83, 0xc0, 0xff,
+ 0xff, 0xf0,
/* U+33 "3" */
- 0x7f, 0x9f, 0xe0, 0x38, 0x18, 0xc, 0x7, 0xc1,
- 0xf8, 0xf, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f,
- 0x8f, 0xc0,
+ 0x7f, 0xdf, 0xf0, 0x3c, 0x1c, 0x1c, 0x7, 0xc1,
+ 0xf8, 0xf, 0x1, 0xc0, 0x7e, 0x1d, 0x8f, 0x7f,
+ 0x87, 0xc0,
/* U+34 "4" */
0x7, 0x7, 0x3, 0x83, 0x83, 0x81, 0xc1, 0xcf,
0xe7, 0xe3, 0xff, 0xff, 0xe0, 0x70, 0x38, 0x1c,
/* U+35 "5" */
- 0x7f, 0x9f, 0xe7, 0x1, 0xc0, 0x77, 0x1f, 0xe7,
- 0x3c, 0x7, 0x1, 0xc0, 0x77, 0x1d, 0xcf, 0x7f,
- 0x87, 0xc0,
+ 0xff, 0x7f, 0xb8, 0x1c, 0xe, 0x7, 0x73, 0xfd,
+ 0xcf, 0x3, 0x81, 0xc0, 0xfc, 0xff, 0xf1, 0xf0,
/* U+36 "6" */
- 0x6, 0x3, 0x1, 0xc0, 0x60, 0x38, 0x1d, 0xc7,
+ 0x6, 0x3, 0x1, 0xc0, 0x60, 0x30, 0x1b, 0xc7,
0xfb, 0xcf, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
0x87, 0x80,
/* U+37 "7" */
- 0xff, 0xff, 0xfe, 0x1b, 0x86, 0x3, 0x80, 0xc0,
- 0x70, 0x18, 0x6, 0x3, 0x80, 0xc0, 0x70, 0x18,
+ 0xff, 0xff, 0xfe, 0xb, 0x86, 0x1, 0x80, 0xc0,
+ 0x30, 0x18, 0x6, 0x3, 0x80, 0xc0, 0x70, 0x18,
0xe, 0x0,
/* U+38 "8" */
- 0x3f, 0x1f, 0xee, 0x1f, 0x87, 0xe1, 0xcf, 0xc3,
- 0xf1, 0xce, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
- 0x8f, 0xc0,
+ 0x3e, 0x1f, 0xce, 0x3b, 0x6, 0xe3, 0x9f, 0xc7,
+ 0xf1, 0x8e, 0xc1, 0xf0, 0x7c, 0x1f, 0x8f, 0x7f,
+ 0x8f, 0x80,
/* U+39 "9" */
0x1e, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7f,
- 0x3d, 0xfe, 0x3b, 0x81, 0xc0, 0x60, 0x38, 0xc,
+ 0x3d, 0xfe, 0x3d, 0x80, 0xc0, 0x60, 0x38, 0xc,
0x6, 0x0,
/* U+3A ":" */
- 0xff, 0xf0, 0x0, 0x0, 0xff, 0xf0,
+ 0xff, 0x80, 0x0, 0xff, 0x80,
/* U+3B ";" */
- 0x7b, 0xde, 0x0, 0x0, 0x0, 0x3, 0xdc, 0xe6,
- 0x73, 0x0,
+ 0x7b, 0xde, 0x0, 0x0, 0x0, 0x7b, 0x9c, 0xce,
+ 0x60,
/* U+3C "<" */
0x0, 0x81, 0xc3, 0xe7, 0xcf, 0x6, 0x3, 0xc0,
@@ -144,23 +144,22 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xff, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xfe,
/* U+3E ">" */
- 0x80, 0x70, 0x3e, 0x7, 0xc0, 0xf8, 0xc, 0x1e,
- 0x3c, 0xf8, 0x70, 0x20, 0x0,
+ 0x0, 0x70, 0x3e, 0x7, 0xc0, 0xf8, 0xc, 0x1e,
+ 0x7c, 0xf8, 0x70, 0x20, 0x0,
/* U+3F "?" */
0xfc, 0xfe, 0xf, 0x7, 0x7, 0xf, 0x3e, 0x3c,
0x30, 0x30, 0x0, 0x0, 0x70, 0x70,
/* U+40 "@" */
- 0x1f, 0x7, 0xf9, 0xc3, 0x70, 0x3c, 0x7, 0x8f,
- 0xf3, 0xfe, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe6,
- 0x3c, 0xff, 0x8e, 0xf8, 0x3, 0x80, 0x3e, 0x3,
- 0xc0,
+ 0x1f, 0x87, 0xf9, 0xc3, 0xf0, 0x3c, 0x77, 0x9f,
+ 0xf3, 0x1e, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe7,
+ 0xfc, 0x77, 0xc0, 0x1c, 0x1, 0xf0, 0x1e, 0x0,
/* U+41 "A" */
- 0x1e, 0x7, 0x81, 0xe0, 0xfc, 0x3f, 0xc, 0xc3,
- 0x31, 0xce, 0x73, 0x9f, 0xe7, 0xfb, 0x87, 0xe1,
- 0xf0, 0x30,
+ 0xf, 0x0, 0xf0, 0xf, 0x1, 0xf8, 0x19, 0x81,
+ 0x98, 0x19, 0x83, 0x9c, 0x3f, 0xc3, 0xfc, 0x70,
+ 0xe7, 0xe, 0x60, 0x66, 0x6,
/* U+42 "B" */
0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xb8, 0xcf,
@@ -173,8 +172,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x8f, 0xc0,
/* U+44 "D" */
- 0xfe, 0x7f, 0xb9, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0xff, 0xf7, 0xf0,
+ 0xfe, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff,
+ 0xbf, 0x80,
/* U+45 "E" */
0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0xfd,
@@ -187,42 +187,43 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
/* U+47 "G" */
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe0, 0x38, 0xe,
0x7f, 0x9f, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
- 0x8f, 0xc0,
+ 0x87, 0x80,
/* U+48 "H" */
0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xff,
0xff, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c,
/* U+49 "I" */
- 0xff, 0xff, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
- 0x1c, 0x1c, 0x1c, 0x1c, 0xff, 0xff,
+ 0xff, 0xff, 0xc7, 0x3, 0x81, 0xc0, 0xe0, 0x70,
+ 0x38, 0x1c, 0xe, 0x7, 0x3, 0x8f, 0xff, 0xfc,
/* U+4A "J" */
- 0xf, 0xc3, 0xf0, 0x1c, 0x7, 0x1, 0xc0, 0x70,
- 0x1c, 0x7, 0x1, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f,
+ 0x3f, 0xcf, 0xf0, 0x1c, 0x7, 0x1, 0xc0, 0x70,
+ 0x1c, 0x7, 0x1, 0xc0, 0x7e, 0x1f, 0x8f, 0x7f,
0x8f, 0xc0,
/* U+4B "K" */
- 0xe1, 0xf8, 0x7e, 0x3b, 0x8e, 0xe7, 0x39, 0xcf,
- 0xe3, 0xf8, 0xe7, 0x39, 0xce, 0x3b, 0x8e, 0xe1,
- 0xf8, 0x70,
+ 0xe1, 0xdc, 0x3b, 0x8e, 0x71, 0xce, 0x31, 0xce,
+ 0x3f, 0x87, 0xf0, 0xe7, 0x1c, 0x63, 0x8e, 0x70,
+ 0xce, 0x1d, 0xc3, 0x80,
/* U+4C "L" */
0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81,
0xc0, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc,
/* U+4D "M" */
- 0xf3, 0xfc, 0xfd, 0x2f, 0xcf, 0xff, 0xff, 0xfe,
- 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1,
- 0xf8, 0x70,
+ 0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd,
+ 0xef, 0x33, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0,
+ 0xf0, 0x30,
/* U+4E "N" */
- 0xf3, 0xf9, 0xfc, 0xfe, 0x7f, 0xbf, 0xdf, 0xaf,
- 0xd7, 0xef, 0xf7, 0xf9, 0xfc, 0xfe, 0x7f, 0x3c,
+ 0xe1, 0xf0, 0xfc, 0x7e, 0x3d, 0x9e, 0xcf, 0x67,
+ 0x9b, 0xcd, 0xe6, 0xf1, 0xf8, 0xfc, 0x3e, 0x1c,
/* U+4F "O" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
+ 0x8f, 0x80,
/* U+50 "P" */
0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff,
@@ -232,7 +233,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
/* U+51 "Q" */
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
- 0x8f, 0x80, 0x70, 0xe, 0x3, 0x80, 0x70,
+ 0x8f, 0x80, 0x70, 0xe, 0x1, 0xc0,
/* U+52 "R" */
0xff, 0x3f, 0xee, 0x3f, 0x87, 0xe1, 0xf8, 0xff,
@@ -240,7 +241,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xb8, 0x70,
/* U+53 "S" */
- 0x3f, 0x1f, 0xee, 0x3f, 0x87, 0xe0, 0x3c, 0x7,
+ 0x3f, 0x1f, 0xee, 0x1f, 0x87, 0xe0, 0x3e, 0x7,
0xf0, 0x7e, 0x3, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f,
0x8f, 0xc0,
@@ -254,14 +255,14 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0,
/* U+56 "V" */
- 0xc0, 0xf8, 0x7e, 0x1d, 0x86, 0x61, 0x9c, 0xe7,
- 0x38, 0xcc, 0x33, 0xf, 0xc3, 0xf0, 0x78, 0x1e,
- 0x7, 0x80,
+ 0x60, 0x66, 0x6, 0x70, 0xe7, 0xe, 0x30, 0xc3,
+ 0xc, 0x39, 0xc1, 0x98, 0x19, 0x81, 0x98, 0x1f,
+ 0x80, 0xf0, 0xf, 0x0, 0xf0,
/* U+57 "W" */
- 0xce, 0x79, 0xcf, 0x29, 0xe5, 0x3c, 0xa7, 0xd5,
- 0xda, 0xb3, 0x56, 0x7b, 0xcf, 0x79, 0xef, 0x38,
- 0xe7, 0x1c, 0xe3, 0x80,
+ 0xc6, 0x78, 0xcf, 0x39, 0xe7, 0x3e, 0xa6, 0xd6,
+ 0xda, 0xdb, 0x5b, 0x6b, 0x6d, 0x2d, 0xe7, 0x3c,
+ 0xe7, 0x9c, 0xe3, 0x80,
/* U+58 "X" */
0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81,
@@ -269,12 +270,12 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xf8, 0x70,
/* U+59 "Y" */
- 0xe0, 0xfc, 0x1d, 0xc7, 0x38, 0xe3, 0xb8, 0x77,
+ 0xe0, 0xfc, 0x1d, 0xc7, 0x38, 0xe3, 0x98, 0x77,
0x6, 0xc0, 0xf8, 0xe, 0x1, 0xc0, 0x38, 0x7,
0x0, 0xe0, 0x1c, 0x0,
/* U+5A "Z" */
- 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0x70, 0x70, 0x70,
+ 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0x60, 0x70, 0x70,
0x38, 0x38, 0x38, 0x1c, 0x1c, 0xf, 0xff, 0xfc,
/* U+5B "[" */
@@ -301,145 +302,146 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x63, 0x8e,
/* U+61 "a" */
- 0x1f, 0x1f, 0xe7, 0x1c, 0x7, 0x3f, 0xdf, 0xfe,
- 0x1f, 0x87, 0xe3, 0xff, 0xf3, 0xdc,
+ 0x3f, 0x1f, 0xee, 0x1c, 0x7, 0x3f, 0xdf, 0xfe,
+ 0x1f, 0x87, 0xe3, 0xff, 0xf7, 0xdc,
/* U+62 "b" */
- 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7f, 0xf7, 0x70,
+ 0xe0, 0x38, 0xe, 0x3, 0xbc, 0xff, 0xbc, 0xfe,
+ 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0xff,
+ 0xbb, 0xc0,
/* U+63 "c" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x7, 0x3, 0x81,
- 0xc7, 0xe3, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xef, 0x1f, 0x83, 0xe0, 0x38, 0xe,
+ 0x3, 0x87, 0xf1, 0xdf, 0xe3, 0xe0,
/* U+64 "d" */
- 0x3, 0x81, 0xc0, 0xe7, 0x77, 0xff, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf9, 0xdc,
+ 0x1, 0xc0, 0x70, 0x1c, 0xf7, 0x7f, 0xfc, 0xfe,
+ 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
+ 0xcf, 0x70,
/* U+65 "e" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7f, 0xff, 0xff, 0x81,
- 0xc0, 0xe3, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xff, 0xff, 0xfe,
+ 0x3, 0x80, 0xf1, 0xdf, 0xe3, 0xf0,
/* U+66 "f" */
- 0xf, 0xc7, 0xf1, 0xc3, 0xff, 0xff, 0xc7, 0x1,
+ 0xf, 0xc7, 0xf1, 0xc0, 0x70, 0xff, 0xff, 0xf1,
0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c,
0x7, 0x0,
/* U+67 "g" */
- 0x3b, 0xbf, 0xfd, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xf7, 0xbf, 0xce, 0xe0, 0x70, 0x39, 0xf8,
- 0xf8,
+ 0x3d, 0xdf, 0xff, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0xcf, 0x7f, 0xcf, 0x70, 0x1c, 0xf, 0x3f,
+ 0x8f, 0xc0,
/* U+68 "h" */
- 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x1f, 0x8f,
+ 0xe0, 0x70, 0x38, 0x1d, 0xcf, 0xf7, 0x9f, 0x8f,
0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c,
/* U+69 "i" */
- 0x8, 0x7, 0x0, 0x80, 0x0, 0xfe, 0x3f, 0x80,
- 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe,
+ 0x1c, 0x7, 0x0, 0x0, 0x0, 0xfc, 0x3f, 0x1,
+ 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c,
0x3f, 0xff, 0xfc,
/* U+6A "j" */
- 0x2, 0x7, 0x2, 0x0, 0x7f, 0x7f, 0x7, 0x7,
- 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7,
- 0xf, 0xfe, 0xfc,
+ 0x7, 0x7, 0x0, 0x0, 0x7f, 0x7f, 0x7, 0x7,
+ 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xf,
+ 0xfe, 0xfc,
/* U+6B "k" */
- 0xe0, 0x38, 0xe, 0x3, 0x87, 0xe3, 0xb8, 0xce,
- 0x73, 0xf8, 0xfe, 0x39, 0xce, 0x73, 0x8e, 0xe1,
+ 0xe0, 0x38, 0xe, 0x3, 0x87, 0xe1, 0xb8, 0xee,
+ 0x33, 0x9c, 0xfe, 0x3f, 0x8e, 0x73, 0x8e, 0xe3,
0xb8, 0x70,
/* U+6C "l" */
0xfe, 0x1f, 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c,
0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7,
- 0x0, 0x7e, 0x7, 0xc0,
+ 0x0, 0xfe, 0xf, 0xc0,
/* U+6D "m" */
0xd9, 0xbf, 0xfc, 0xcf, 0x33, 0xcc, 0xf3, 0x3c,
0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcc,
/* U+6E "n" */
- 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
+ 0xee, 0x7f, 0xbc, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
0xc7, 0xe3, 0xf1, 0xf8, 0xe0,
/* U+6F "o" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xf3, 0xdf, 0xe3, 0xf0,
/* U+70 "p" */
- 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xff, 0xbb, 0x9c, 0xe, 0x7, 0x3,
- 0x80,
+ 0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xf3, 0xff, 0xee, 0xf3, 0x80, 0xe0,
+ 0x38, 0x0,
/* U+71 "q" */
- 0x3b, 0xbf, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xbf, 0xce, 0xe0, 0x70, 0x38, 0x1c,
- 0xe,
+ 0x3d, 0xdf, 0xff, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xf3, 0xdf, 0xf3, 0xdc, 0x7, 0x1,
+ 0xc0, 0x70,
/* U+72 "r" */
- 0xee, 0x7f, 0xbc, 0xfc, 0x7e, 0x3f, 0x3, 0x81,
- 0xc0, 0xe0, 0x70, 0x38, 0x0,
+ 0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0xe,
+ 0x3, 0x80, 0xe0, 0x38, 0xe, 0x0,
/* U+73 "s" */
- 0x1f, 0x1f, 0xe7, 0x1d, 0xc0, 0x7c, 0xf, 0xe0,
- 0x3c, 0x7, 0x71, 0xdf, 0xe3, 0xf0,
+ 0x3f, 0x3f, 0xee, 0x1f, 0x80, 0xfc, 0x1f, 0xe0,
+ 0x3c, 0x7, 0xe1, 0xff, 0xe3, 0xf0,
/* U+74 "t" */
0x1c, 0x7, 0x1, 0xc3, 0xff, 0xff, 0xc7, 0x1,
- 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1f,
- 0xc3, 0xf0,
+ 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0xf,
+ 0xc1, 0xf0,
/* U+75 "u" */
0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
0xc7, 0xe3, 0xbf, 0x8f, 0x80,
/* U+76 "v" */
- 0xe1, 0xf8, 0x76, 0x19, 0x86, 0x73, 0x8c, 0xc3,
+ 0xc0, 0xf8, 0x76, 0x19, 0x86, 0x73, 0x8c, 0xc3,
0x30, 0xfc, 0x1e, 0x7, 0x81, 0xe0,
/* U+77 "w" */
- 0xe6, 0x36, 0x66, 0x66, 0x66, 0xf6, 0x6f, 0x66,
- 0x96, 0x69, 0x62, 0x94, 0x39, 0xc3, 0x9c, 0x39,
- 0xc0,
+ 0xc6, 0x79, 0xcf, 0x39, 0xb5, 0x36, 0xa6, 0xd6,
+ 0xda, 0xdb, 0x4e, 0x79, 0xcf, 0x38, 0xc7, 0x0,
/* U+78 "x" */
0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81,
- 0xe0, 0xfc, 0x73, 0x9c, 0xee, 0x1c,
+ 0xe0, 0xfc, 0x73, 0x9c, 0x6e, 0x1c,
/* U+79 "y" */
- 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3,
- 0xf0, 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x30, 0x1c,
- 0x7, 0x1, 0x80,
+ 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8e, 0xc3,
+ 0xf0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c,
+ 0x6, 0x0,
/* U+7A "z" */
- 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
+ 0xff, 0xff, 0xc1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
0xe0, 0xe0, 0x7f, 0xff, 0xe0,
/* U+7B "{" */
- 0x3, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38,
+ 0x7, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38,
0x1c, 0xfc, 0x7e, 0x3, 0x81, 0xc0, 0xe0, 0x70,
- 0x38, 0x1c, 0x7, 0x81, 0xc0,
+ 0x38, 0x1c, 0xf, 0x83, 0xc0,
/* U+7C "|" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
/* U+7D "}" */
- 0xf0, 0x3e, 0x1, 0xc0, 0x70, 0x1c, 0x7, 0x1,
+ 0xf0, 0x3f, 0x1, 0xc0, 0x70, 0x1c, 0x7, 0x1,
0xc0, 0x70, 0xf, 0xc3, 0xf1, 0xc0, 0x70, 0x1c,
0x7, 0x1, 0xc0, 0x70, 0xf8, 0x3c, 0x0,
/* U+7E "~" */
- 0x78, 0xff, 0x3c, 0xcf, 0x3f, 0xc7, 0x80,
+ 0x78, 0xff, 0x3c, 0xff, 0x1e,
/* U+410 "А" */
- 0x1e, 0x7, 0x81, 0xe0, 0xfc, 0x3f, 0xc, 0xc3,
- 0x31, 0xce, 0x73, 0x9f, 0xe7, 0xfb, 0x87, 0xe1,
- 0xf0, 0x30,
+ 0xf, 0x0, 0xf0, 0xf, 0x1, 0xf8, 0x19, 0x81,
+ 0x98, 0x19, 0x83, 0x9c, 0x3f, 0xc3, 0xfc, 0x70,
+ 0xe7, 0xe, 0x60, 0x66, 0x6,
/* U+411 "Б" */
0xff, 0xbf, 0xee, 0x3, 0x80, 0xe0, 0x3f, 0xcf,
0xfb, 0x8f, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff,
- 0xbf, 0x80,
+ 0xbf, 0xc0,
/* U+412 "В" */
0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xb8, 0xcf,
@@ -452,7 +454,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
/* U+414 "Д" */
0x3f, 0xc7, 0xf8, 0xe7, 0x1c, 0xe3, 0x9c, 0x73,
- 0x8e, 0x71, 0xce, 0x39, 0xc7, 0x38, 0xe7, 0x38,
+ 0x8e, 0x71, 0xce, 0x39, 0xc7, 0x39, 0xe7, 0x38,
0xef, 0xff, 0xff, 0xf8, 0x3f, 0x7, 0xe0, 0xe0,
/* U+415 "Е" */
@@ -460,46 +462,47 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xfe, 0xe0, 0x70, 0x38, 0x1c, 0xf, 0xff, 0xfc,
/* U+416 "Ж" */
- 0xe6, 0x76, 0x66, 0x66, 0x67, 0x66, 0x36, 0xc3,
- 0x6c, 0x3f, 0xc3, 0x6c, 0x36, 0xc7, 0x6e, 0x66,
- 0x66, 0x66, 0x66, 0x6c, 0x63,
+ 0xe6, 0x36, 0x66, 0x66, 0x66, 0x66, 0x36, 0xc3,
+ 0x6c, 0x3f, 0xc3, 0x6c, 0x36, 0xc6, 0x66, 0x66,
+ 0x66, 0x66, 0xe6, 0x7c, 0x63,
/* U+417 "З" */
- 0x1f, 0x8f, 0xfd, 0xc7, 0x80, 0x70, 0x1c, 0x3e,
- 0x7, 0xf0, 0xf, 0x0, 0xe0, 0x1d, 0x83, 0xb8,
+ 0x1f, 0x87, 0xf9, 0xc7, 0xb0, 0x70, 0xe, 0x3,
+ 0x87, 0xe0, 0xfe, 0x1, 0xe0, 0x1d, 0x83, 0xb8,
0xf7, 0xfc, 0x3e, 0x0,
/* U+418 "И" */
- 0xe7, 0xf3, 0xf9, 0xfc, 0xfe, 0xff, 0x7f, 0xaf,
- 0xd7, 0xfb, 0xfd, 0xfc, 0xfe, 0x7f, 0x3f, 0x9c,
+ 0xc3, 0xe1, 0xf1, 0xf8, 0xfc, 0xde, 0x6f, 0x37,
+ 0xb3, 0xd9, 0xec, 0xfc, 0x7e, 0x3e, 0x1f, 0xc,
/* U+419 "Й" */
- 0x63, 0x3b, 0x8f, 0x83, 0x80, 0x7, 0x3f, 0x9f,
- 0xcf, 0xe7, 0xf7, 0xfb, 0xfd, 0x7e, 0xbf, 0xdf,
- 0xef, 0xe7, 0xf3, 0xf9, 0xfc, 0xe0,
+ 0x63, 0x31, 0x8f, 0x83, 0x80, 0x6, 0x1f, 0xf,
+ 0x8f, 0xc7, 0xe6, 0xf3, 0x79, 0xbd, 0x9e, 0xcf,
+ 0x67, 0xe3, 0xf1, 0xf0, 0xf8, 0x60,
/* U+41A "К" */
- 0xe1, 0xf8, 0x7e, 0x3b, 0x8e, 0xe7, 0x39, 0xcf,
- 0xe3, 0xf8, 0xe7, 0x39, 0xce, 0x3b, 0x8e, 0xe1,
- 0xf8, 0x70,
+ 0xe1, 0xdc, 0x3b, 0x8e, 0x71, 0xce, 0x31, 0xce,
+ 0x3f, 0x87, 0xf0, 0xe7, 0x1c, 0x63, 0x8e, 0x70,
+ 0xce, 0x1d, 0xc3, 0x80,
/* U+41B "Л" */
- 0x3f, 0xcf, 0xf3, 0x9c, 0xe7, 0x39, 0xce, 0x73,
- 0x9c, 0xe7, 0x39, 0xce, 0x73, 0x9d, 0xe7, 0xf1,
- 0xf8, 0x70,
+ 0x3f, 0xe7, 0xfc, 0xe3, 0x9c, 0x73, 0x8e, 0x71,
+ 0xce, 0x39, 0xc7, 0x38, 0xe7, 0x1c, 0xe3, 0xbc,
+ 0x7f, 0xf, 0xc1, 0xc0,
/* U+41C "М" */
- 0xf3, 0xfc, 0xfd, 0x2f, 0xcf, 0xff, 0xff, 0xfe,
- 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1,
- 0xf8, 0x70,
+ 0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd,
+ 0xef, 0x33, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0,
+ 0xf0, 0x30,
/* U+41D "Н" */
0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xff,
0xff, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c,
/* U+41E "О" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
+ 0x8f, 0x80,
/* U+41F "П" */
0xff, 0xff, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
@@ -521,14 +524,14 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x3, 0x80,
/* U+423 "У" */
- 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3,
- 0xb0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c,
+ 0xc0, 0xf8, 0x76, 0x1d, 0xc6, 0x73, 0x8c, 0xc3,
+ 0xf0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c,
0x6, 0x0,
/* U+424 "Ф" */
0xc, 0xf, 0xc7, 0xfb, 0xb7, 0xcc, 0xf3, 0x3c,
0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0xb7, 0x7f,
- 0x8f, 0xc0, 0xc0, 0x30,
+ 0x8f, 0xc0, 0xc0,
/* U+425 "Х" */
0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81,
@@ -541,8 +544,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xff, 0xf0, 0x1c, 0x7, 0x1, 0xc0,
/* U+427 "Ч" */
- 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0xce,
- 0xff, 0x3f, 0x81, 0xc0, 0xe0, 0x70, 0x38, 0x1c,
+ 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xf8, 0x7f,
+ 0x1d, 0xff, 0x3f, 0xc0, 0x70, 0x1c, 0x7, 0x1,
+ 0xc0, 0x70,
/* U+428 "Ш" */
0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c,
@@ -555,9 +559,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x6f, 0xff, 0xff, 0xc0, 0x18, 0x3,
/* U+42A "Ъ" */
- 0xfc, 0xf, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1,
- 0xfc, 0x1f, 0xe1, 0xcf, 0x1c, 0x71, 0xc7, 0x1c,
- 0x71, 0xcf, 0x1f, 0xe1, 0xf8,
+ 0xf8, 0xf, 0x80, 0x38, 0x3, 0x80, 0x38, 0x3,
+ 0xf8, 0x3f, 0xe3, 0x8f, 0x38, 0x73, 0x87, 0x38,
+ 0x73, 0x8f, 0x3f, 0xe3, 0xf8,
/* U+42B "Ы" */
0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xfe, 0x3f,
@@ -567,37 +571,39 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
/* U+42C "Ь" */
0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x3f, 0xcf,
0xfb, 0x8f, 0xe1, 0xf8, 0x7e, 0x1f, 0x8f, 0xff,
- 0xbf, 0x80,
+ 0xbf, 0xc0,
/* U+42D "Э" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x70, 0x38, 0x1c, 0x7e,
- 0x3f, 0x3, 0x81, 0xf8, 0xfc, 0x77, 0xf1, 0xf0,
+ 0x3f, 0x1f, 0xee, 0x3f, 0x87, 0x1, 0xc0, 0x71,
+ 0xfc, 0x7f, 0x1, 0xc0, 0x7e, 0x1f, 0x8f, 0x7f,
+ 0x8f, 0xc0,
/* U+42E "Ю" */
- 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xcc, 0xf3, 0x3f,
- 0xcf, 0xf3, 0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcf,
- 0xf1, 0xe0,
+ 0xc7, 0x99, 0xfb, 0x31, 0xe6, 0x3c, 0xc7, 0xf8,
+ 0xff, 0x1e, 0x63, 0xcc, 0x79, 0x8f, 0x31, 0xe6,
+ 0x3c, 0x7d, 0x87, 0x0,
/* U+42F "Я" */
0x3f, 0xdf, 0xff, 0x1f, 0x87, 0xe1, 0xfc, 0x77,
- 0xfc, 0xff, 0x39, 0xce, 0x77, 0x1d, 0xc7, 0x71,
+ 0xfc, 0x7f, 0x19, 0xce, 0x73, 0x1d, 0xc7, 0x71,
0xf8, 0x70,
/* U+430 "а" */
- 0x1f, 0x1f, 0xe7, 0x1c, 0x7, 0x3f, 0xdf, 0xfe,
- 0x1f, 0x87, 0xe3, 0xff, 0xf3, 0xdc,
+ 0x3f, 0x1f, 0xee, 0x1c, 0x7, 0x3f, 0xdf, 0xfe,
+ 0x1f, 0x87, 0xe3, 0xff, 0xf7, 0xdc,
/* U+431 "б" */
- 0x1f, 0x3f, 0x9c, 0x1c, 0xe, 0xe7, 0xfb, 0x8f,
- 0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x77, 0xf1, 0xf0,
+ 0x1f, 0x8f, 0xe7, 0x3, 0x80, 0xef, 0x3f, 0xef,
+ 0x3f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
+ 0x8f, 0x80,
/* U+432 "в" */
- 0xfe, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0xf3, 0xfd,
- 0xc7, 0xe3, 0xff, 0xff, 0x80,
+ 0xfe, 0x3f, 0xce, 0x3b, 0x8e, 0xe3, 0xbf, 0x8f,
+ 0xfb, 0x87, 0xe1, 0xff, 0xff, 0xf0,
/* U+433 "г" */
- 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0xe0, 0xe0, 0xe0,
+ 0xff, 0xff, 0xf8, 0x1c, 0xe, 0x7, 0x3, 0x81,
+ 0xc0, 0xe0, 0x70, 0x38, 0x0,
/* U+434 "д" */
0x3f, 0xc7, 0xf8, 0xe7, 0x1c, 0xe3, 0x9c, 0x73,
@@ -605,34 +611,34 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x7e, 0xf, 0xc1, 0xc0,
/* U+435 "е" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7f, 0xff, 0xff, 0x81,
- 0xc0, 0xe3, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xff, 0xff, 0xfe,
+ 0x3, 0x80, 0xf1, 0xdf, 0xe3, 0xf0,
/* U+436 "ж" */
0xe6, 0x76, 0x66, 0x66, 0x63, 0x6c, 0x36, 0xc3,
- 0xfc, 0x36, 0xc3, 0x6c, 0x66, 0x66, 0x66, 0xe6,
- 0x70,
+ 0xfc, 0x36, 0xc7, 0x6e, 0x66, 0x66, 0x66, 0xc6,
+ 0x30,
/* U+437 "з" */
- 0x3f, 0x1f, 0xfe, 0x1c, 0x7, 0x1f, 0x7, 0xe0,
+ 0x3f, 0x1f, 0xfe, 0x1c, 0x7, 0x1f, 0x87, 0xe0,
0x1c, 0x7, 0xe1, 0xdf, 0xe3, 0xf0,
/* U+438 "и" */
- 0xc3, 0xe3, 0xf1, 0xf9, 0xfc, 0xde, 0xef, 0x67,
- 0xb3, 0xf1, 0xf8, 0xf8, 0x60,
+ 0xe7, 0xf3, 0xf9, 0xfd, 0xfe, 0xbf, 0x5f, 0xaf,
+ 0xf7, 0xf3, 0xf9, 0xfc, 0xe0,
/* U+439 "й" */
- 0x63, 0x31, 0x8f, 0x83, 0x80, 0x6, 0x1f, 0x1f,
- 0x8f, 0xcf, 0xe6, 0xf7, 0x7b, 0x3f, 0x9f, 0x8f,
- 0xc7, 0xc3,
+ 0x63, 0x3b, 0x8f, 0x83, 0x80, 0x7, 0x3f, 0x9f,
+ 0xcf, 0xef, 0xf5, 0xfa, 0xfd, 0x7f, 0xbf, 0x9f,
+ 0xcf, 0xe7,
/* U+43A "к" */
- 0xe1, 0xf8, 0xee, 0x33, 0x9c, 0xfe, 0x3f, 0x8e,
- 0x73, 0x9c, 0xe3, 0xb8, 0x6e, 0x1c,
+ 0xe1, 0xf8, 0x6e, 0x3b, 0x8c, 0xe7, 0x3f, 0x8f,
+ 0xe3, 0x9c, 0xe3, 0xb8, 0xee, 0x1c,
/* U+43B "л" */
- 0x3f, 0xcf, 0xf3, 0x9c, 0xe7, 0x39, 0xce, 0x73,
- 0x9c, 0xe7, 0x39, 0xfc, 0x7e, 0x1c,
+ 0x3f, 0xe7, 0xfc, 0xe3, 0x9c, 0x73, 0x8e, 0x71,
+ 0xce, 0x39, 0xc7, 0x38, 0xfe, 0x1f, 0x83, 0x80,
/* U+43C "м" */
0xe1, 0xf8, 0x7f, 0x3f, 0xcf, 0xda, 0xf7, 0xbd,
@@ -643,39 +649,39 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xc7, 0xe3, 0xf1, 0xf8, 0xe0,
/* U+43E "о" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xf3, 0xdf, 0xe3, 0xf0,
/* U+43F "п" */
0xff, 0xff, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
0xc7, 0xe3, 0xf1, 0xf8, 0xe0,
/* U+440 "р" */
- 0xee, 0x7f, 0xb8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f,
- 0xc7, 0xe3, 0xff, 0xbb, 0x9c, 0xe, 0x7, 0x3,
- 0x80,
+ 0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
+ 0x1f, 0x87, 0xf3, 0xff, 0xee, 0xf3, 0x80, 0xe0,
+ 0x38, 0x0,
/* U+441 "с" */
- 0x3e, 0x3f, 0xb8, 0xfc, 0x7e, 0x7, 0x3, 0x81,
- 0xc7, 0xe3, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xef, 0x1f, 0x83, 0xe0, 0x38, 0xe,
+ 0x3, 0x87, 0xf1, 0xdf, 0xe3, 0xe0,
/* U+442 "т" */
0xff, 0xff, 0xf0, 0xe0, 0x38, 0xe, 0x3, 0x80,
0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0,
/* U+443 "у" */
- 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8c, 0xc3,
- 0xf0, 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x30, 0x1c,
- 0x7, 0x1, 0x80,
+ 0xe1, 0xf8, 0x76, 0x19, 0xce, 0x33, 0x8e, 0xc3,
+ 0xf0, 0x7c, 0x1e, 0x3, 0x80, 0xc0, 0x70, 0x1c,
+ 0x6, 0x0,
/* U+444 "ф" */
0xc, 0x3, 0x0, 0xc0, 0xfc, 0x7f, 0xbb, 0x7c,
0xcf, 0x33, 0xcc, 0xf3, 0x3c, 0xcf, 0xb7, 0x7f,
- 0x8f, 0xc0, 0xc0, 0x30, 0xc, 0x3, 0x0,
+ 0x8f, 0xc0, 0xc0, 0x30, 0xc, 0x0,
/* U+445 "х" */
0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81,
- 0xe0, 0xfc, 0x73, 0x9c, 0xee, 0x1c,
+ 0xe0, 0xfc, 0x73, 0x9c, 0x6e, 0x1c,
/* U+446 "ц" */
0xe3, 0xb8, 0xee, 0x3b, 0x8e, 0xe3, 0xb8, 0xee,
@@ -683,8 +689,8 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0xc0, 0x70,
/* U+447 "ч" */
- 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3b, 0xfc, 0xfe,
- 0x7, 0x3, 0x81, 0xc0, 0xe0,
+ 0xe1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xfc, 0x77,
+ 0xfc, 0xff, 0x1, 0xc0, 0x70, 0x1c,
/* U+448 "ш" */
0xcc, 0xf3, 0x3c, 0xcf, 0x33, 0xcc, 0xf3, 0x3c,
@@ -702,23 +708,23 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
/* U+44B "ы" */
0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xf8, 0xff, 0x3c,
- 0x6f, 0x1b, 0xc6, 0xff, 0x3f, 0x8c,
+ 0xef, 0x1b, 0xce, 0xff, 0x3f, 0x8c,
/* U+44C "ь" */
0xe0, 0x38, 0xe, 0x3, 0x80, 0xff, 0x3f, 0xee,
0x1f, 0x87, 0xe1, 0xff, 0xef, 0xf0,
/* U+44D "э" */
- 0x3e, 0x3f, 0xb8, 0xe0, 0x70, 0xf8, 0x7c, 0xf,
- 0xc7, 0xe7, 0xbf, 0x8f, 0x80,
+ 0x3f, 0x1f, 0xee, 0x3c, 0x7, 0x1f, 0xc7, 0xf0,
+ 0x1f, 0x87, 0xe3, 0xdf, 0xe1, 0xf0,
/* U+44E "ю" */
- 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xcc, 0xff, 0x3f,
+ 0xc7, 0xb3, 0xfc, 0xcf, 0x33, 0xfc, 0xff, 0x3c,
0xcf, 0x33, 0xcc, 0xf3, 0xfc, 0x78,
/* U+44F "я" */
- 0x3f, 0xbf, 0xf8, 0xfc, 0x7e, 0x3f, 0xfd, 0xfe,
- 0x77, 0x73, 0xb9, 0xf8, 0xe0,
+ 0x3f, 0xdf, 0xfe, 0x1f, 0x87, 0xe1, 0xff, 0xf7,
+ 0xfc, 0xe7, 0x71, 0xdc, 0x7e, 0x1c,
/* U+F001 "" */
0x0, 0x0, 0x70, 0x0, 0x7f, 0x0, 0x3f, 0xf0,
@@ -873,7 +879,16 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
0x7e, 0x23, 0x8f, 0xc7, 0x11, 0xf8, 0xf8, 0x3f,
0xf, 0xc7, 0xe0, 0x7e, 0xfc, 0x3, 0xff, 0x80,
0x1f, 0xf0, 0x0, 0xfe, 0x0, 0x7, 0xc0, 0x0,
- 0x38, 0x0, 0x1, 0x0, 0x0
+ 0x38, 0x0, 0x1, 0x0, 0x0,
+
+ /* U+F5A0 "" */
+ 0x0, 0x78, 0x0, 0x7, 0xf8, 0x0, 0x1f, 0xe0,
+ 0x0, 0xf3, 0xc0, 0x3, 0x87, 0x0, 0xf, 0x3c,
+ 0x0, 0x9f, 0xe1, 0xcf, 0x7f, 0x9f, 0xfc, 0xfc,
+ 0xff, 0xf1, 0xe3, 0xff, 0xd7, 0xaf, 0xff, 0x4d,
+ 0xbf, 0xfd, 0x86, 0xff, 0xf7, 0xfb, 0xff, 0xdf,
+ 0xef, 0xff, 0x7f, 0xbf, 0xfd, 0xfe, 0xff, 0xc0,
+ 0xfb, 0xcc, 0x0, 0x6c, 0x0
};
@@ -888,180 +903,181 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 7, .adv_w = 192, .box_w = 7, .box_h = 6, .ofs_x = 3, .ofs_y = 8},
{.bitmap_index = 13, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 33, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 57, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 78, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 98, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8},
- {.bitmap_index = 101, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2},
- {.bitmap_index = 118, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
- {.bitmap_index = 135, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1},
- {.bitmap_index = 148, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2},
- {.bitmap_index = 160, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -4},
- {.bitmap_index = 164, .adv_w = 192, .box_w = 9, .box_h = 2, .ofs_x = 2, .ofs_y = 5},
- {.bitmap_index = 167, .adv_w = 192, .box_w = 4, .box_h = 3, .ofs_x = 4, .ofs_y = 0},
- {.bitmap_index = 169, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
- {.bitmap_index = 193, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 211, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 227, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 57, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 77, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 97, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8},
+ {.bitmap_index = 100, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2},
+ {.bitmap_index = 117, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
+ {.bitmap_index = 134, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1},
+ {.bitmap_index = 147, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2},
+ {.bitmap_index = 159, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -3},
+ {.bitmap_index = 163, .adv_w = 192, .box_w = 8, .box_h = 2, .ofs_x = 2, .ofs_y = 5},
+ {.bitmap_index = 165, .adv_w = 192, .box_w = 4, .box_h = 4, .ofs_x = 4, .ofs_y = 0},
+ {.bitmap_index = 167, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
+ {.bitmap_index = 191, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 209, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 225, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 243, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 261, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 277, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 295, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 313, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 331, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 349, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 367, .adv_w = 192, .box_w = 4, .box_h = 11, .ofs_x = 4, .ofs_y = 0},
- {.bitmap_index = 373, .adv_w = 192, .box_w = 5, .box_h = 15, .ofs_x = 3, .ofs_y = -4},
- {.bitmap_index = 383, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
- {.bitmap_index = 396, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3},
- {.bitmap_index = 404, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
- {.bitmap_index = 417, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 431, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 456, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 474, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 492, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 510, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 277, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 293, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 311, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 329, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 347, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 365, .adv_w = 192, .box_w = 3, .box_h = 11, .ofs_x = 4, .ofs_y = 0},
+ {.bitmap_index = 370, .adv_w = 192, .box_w = 5, .box_h = 14, .ofs_x = 3, .ofs_y = -3},
+ {.bitmap_index = 379, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
+ {.bitmap_index = 392, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3},
+ {.bitmap_index = 400, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
+ {.bitmap_index = 413, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 427, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 451, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 472, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 490, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 508, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 526, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 542, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
{.bitmap_index = 558, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 576, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 592, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 606, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 624, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 642, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 658, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 676, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 692, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 708, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 726, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 749, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 767, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 785, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 803, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 819, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 837, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 857, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 875, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 895, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 911, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 4, .ofs_y = -2},
- {.bitmap_index = 925, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
- {.bitmap_index = 949, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 3, .ofs_y = -2},
- {.bitmap_index = 963, .adv_w = 192, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 7},
- {.bitmap_index = 973, .adv_w = 192, .box_w = 10, .box_h = 2, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 976, .adv_w = 192, .box_w = 5, .box_h = 3, .ofs_x = 3, .ofs_y = 13},
- {.bitmap_index = 978, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 992, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1008, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1021, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1037, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1050, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1068, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 1085, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1101, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1120, .adv_w = 192, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 1139, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1157, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1177, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1191, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1204, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1217, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 1234, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 1251, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1264, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1278, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1296, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1309, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1323, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1340, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1354, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 1373, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1386, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2},
- {.bitmap_index = 1407, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2},
- {.bitmap_index = 1414, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2},
- {.bitmap_index = 1437, .adv_w = 192, .box_w = 10, .box_h = 5, .ofs_x = 1, .ofs_y = 5},
- {.bitmap_index = 1444, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1462, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1480, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1498, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1514, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 1538, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1554, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1575, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1595, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1611, .adv_w = 192, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1633, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1651, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1669, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1687, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1703, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1719, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1735, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1753, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1771, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1789, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1807, .adv_w = 192, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = -1},
- {.bitmap_index = 1827, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1845, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 2, .ofs_y = -3},
- {.bitmap_index = 1867, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1883, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1901, .adv_w = 192, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
- {.bitmap_index = 1923, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 1944, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1962, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 1980, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 1996, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2014, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2032, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2046, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2062, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2075, .adv_w = 192, .box_w = 8, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2086, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 2106, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2119, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 2136, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2150, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2163, .adv_w = 192, .box_w = 9, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2181, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2195, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2209, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2223, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2236, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2249, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2262, .adv_w = 192, .box_w = 9, .box_h = 15, .ofs_x = 2, .ofs_y = -4},
- {.bitmap_index = 2279, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2292, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2306, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 2325, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -4},
- {.bitmap_index = 2348, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2362, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = -3},
- {.bitmap_index = 2380, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2393, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2407, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -2},
- {.bitmap_index = 2425, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
- {.bitmap_index = 2442, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2456, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
- {.bitmap_index = 2470, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2483, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2497, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
- {.bitmap_index = 2510, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 2560, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 2608, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
- {.bitmap_index = 2651, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 2699, .adv_w = 120, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
- {.bitmap_index = 2718, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 2768, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
- {.bitmap_index = 2804, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
- {.bitmap_index = 2852, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
- {.bitmap_index = 2895, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
- {.bitmap_index = 2933, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
- {.bitmap_index = 2971, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
- {.bitmap_index = 3009, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
- {.bitmap_index = 3047, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
- {.bitmap_index = 3085, .adv_w = 280, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
- {.bitmap_index = 3123, .adv_w = 200, .box_w = 11, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
- {.bitmap_index = 3152, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
- {.bitmap_index = 3201, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2},
- {.bitmap_index = 3251, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
- {.bitmap_index = 3311, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3}
+ {.bitmap_index = 576, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 592, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 608, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 626, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 646, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 662, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 680, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 696, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 714, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 732, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 754, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 772, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 790, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 808, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 824, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 845, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 865, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 883, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 903, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 919, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 4, .ofs_y = -2},
+ {.bitmap_index = 933, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
+ {.bitmap_index = 957, .adv_w = 192, .box_w = 6, .box_h = 18, .ofs_x = 3, .ofs_y = -2},
+ {.bitmap_index = 971, .adv_w = 192, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 6},
+ {.bitmap_index = 981, .adv_w = 192, .box_w = 10, .box_h = 2, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 984, .adv_w = 192, .box_w = 5, .box_h = 3, .ofs_x = 3, .ofs_y = 13},
+ {.bitmap_index = 986, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1000, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1018, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1032, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1050, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1064, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1082, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1100, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1116, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1135, .adv_w = 192, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1153, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1171, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 1191, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1205, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1218, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1232, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1250, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1268, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1282, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1296, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1314, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1327, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1341, .adv_w = 192, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 1357, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1371, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1389, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1402, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2},
+ {.bitmap_index = 1423, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2},
+ {.bitmap_index = 1430, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2},
+ {.bitmap_index = 1453, .adv_w = 192, .box_w = 10, .box_h = 4, .ofs_x = 1, .ofs_y = 5},
+ {.bitmap_index = 1458, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 1479, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1497, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1515, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1531, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1555, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 1571, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 1592, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1612, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1628, .adv_w = 192, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1650, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1670, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1690, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1708, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1724, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1742, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1758, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1776, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1794, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1812, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1830, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1849, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1867, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 1889, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1907, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1925, .adv_w = 192, .box_w = 11, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
+ {.bitmap_index = 1947, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1968, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 1986, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 2004, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2022, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2042, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2060, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2074, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2092, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2106, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 2119, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 2139, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2153, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 2170, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2184, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2197, .adv_w = 192, .box_w = 9, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2215, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 2229, .adv_w = 192, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2245, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2259, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2272, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2286, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2299, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 2317, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2331, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2345, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 2363, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 2385, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2399, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 2417, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2431, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2445, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -2},
+ {.bitmap_index = 2463, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
+ {.bitmap_index = 2480, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2494, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
+ {.bitmap_index = 2508, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2522, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2536, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
+ {.bitmap_index = 2550, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
+ {.bitmap_index = 2600, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
+ {.bitmap_index = 2648, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+ {.bitmap_index = 2691, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
+ {.bitmap_index = 2739, .adv_w = 120, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+ {.bitmap_index = 2758, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
+ {.bitmap_index = 2808, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+ {.bitmap_index = 2844, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+ {.bitmap_index = 2892, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+ {.bitmap_index = 2935, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+ {.bitmap_index = 2973, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+ {.bitmap_index = 3011, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+ {.bitmap_index = 3049, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+ {.bitmap_index = 3087, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+ {.bitmap_index = 3125, .adv_w = 280, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
+ {.bitmap_index = 3163, .adv_w = 200, .box_w = 11, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+ {.bitmap_index = 3192, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+ {.bitmap_index = 3241, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -2},
+ {.bitmap_index = 3291, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+ {.bitmap_index = 3351, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+ {.bitmap_index = 3404, .adv_w = 360, .box_w = 22, .box_h = 19, .ofs_x = 0, .ofs_y = -2}
};
/*---------------------
@@ -1071,7 +1087,7 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
static const uint16_t unicode_list_2[] = {
0x0, 0x16, 0x39, 0x68, 0x128, 0x184, 0x1e5, 0x1fb,
0x21d, 0x23f, 0x240, 0x241, 0x242, 0x243, 0x292, 0x293,
- 0x3fc, 0x45c, 0x54a, 0x55f
+ 0x3fc, 0x45c, 0x54a, 0x55f, 0x59f
};
/*Collect the unicode lists and glyph_id offsets*/
@@ -1086,8 +1102,8 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
- .range_start = 61441, .range_length = 1376, .glyph_id_start = 160,
- .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 20, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+ .range_start = 61441, .range_length = 1440, .glyph_id_start = 160,
+ .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 21, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
}
};
@@ -1119,8 +1135,8 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
lv_font_t jetbrains_mono_bold_20 = {
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
- .line_height = 23, /*The maximum line height required by the font*/
- .base_line = 4, /*Baseline measured from the bottom of the line*/
+ .line_height = 22, /*The maximum line height required by the font*/
+ .base_line = 3, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
@@ -1134,3 +1150,4 @@ lv_font_t jetbrains_mono_bold_20 = {
#endif /*#if JETBRAINS_MONO_BOLD_20*/
+
diff --git a/src/displayapp/icons/navigation/.c b/src/displayapp/icons/navigation/.c
new file mode 100644
index 00000000..3bfa1c66
--- /dev/null
+++ b/src/displayapp/icons/navigation/.c
@@ -0,0 +1,93 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "../lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_
+#define LV_ATTRIBUTE_IMG_
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ uint8_t _map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe,
+ 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x0f, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe,
+ 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe,
+ 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe,
+ 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe,
+ 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe,
+ 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+};
+
+const lv_img_dsc_t = {
+ .header.always_zero = 0,
+ .header.w = 64,
+ .header.h = 64,
+ .data_size = 520,
+ .header.cf = LV_IMG_CF_INDEXED_1BIT,
+ .data = _map,
+};
diff --git a/src/displayapp/icons/navigation/arrive-left-white.svg b/src/displayapp/icons/navigation/arrive-left-white.svg
new file mode 100644
index 00000000..567bdbd3
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3,12a2,2,0,1,1,2-2A2,2,0,0,1,3,12Zm10.00293-.96332a4.05782,4.05782,0,0,1,3.98877,4.07324H17v1.37775A0.51232,0.51232,0,0,0,17.51233,17h0.97534A0.51232,0.51232,0,0,0,19,16.48767V15H18.98615a6.05607,6.05607,0,0,0-5.9834-5.96332l-0.011-.00183,0.00012,0.02008H12V9.04584a0.35757,0.35757,0,0,1-.37738-0.54242l1.34375-2.95184a0.38659,0.38659,0,0,0-.62354-0.40942L6,10.04584l6.34283,4.90369a0.3866,0.3866,0,0,0,.62354-0.40942l-1.34375-2.95184A0.35757,0.35757,0,0,1,12,11.04584v0.00909h1"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/arrive-left.c b/src/displayapp/icons/navigation/arrive-left.c
new file mode 100644
index 00000000..ea45fded
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ARRIVE_LEFT
+#define LV_ATTRIBUTE_IMG_ARRIVE_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE_LEFT uint8_t arrive_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x00,
+ 0x3f, 0xf8, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xfc, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xfe, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfe,
+ 0xff, 0xfe, 0x07, 0xff, 0xff, 0x8f, 0xff, 0xfe,
+ 0xff, 0xfc, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xff,
+ 0x3f, 0xf8, 0x00, 0xff, 0xff, 0xc0, 0x7f, 0xff,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x3f, 0xff,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x03, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x03, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x03, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t arrive_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+arrive_left_map,
+};
diff --git a/src/displayapp/icons/navigation/arrive-left.png b/src/displayapp/icons/navigation/arrive-left.png
new file mode 100644
index 00000000..6eefd498
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/arrive-right-white.svg b/src/displayapp/icons/navigation/arrive-right-white.svg
new file mode 100644
index 00000000..0be60d3e
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15,10a2,2,0,1,1,2,2A2,2,0,0,1,15,10ZM7,11.05493H8V11.04584a0.35757,0.35757,0,0,1,.37738.54242L7.03363,14.5401a0.3866,0.3866,0,0,0,.62354.40942L14,10.04584,7.65717,5.14215a0.38659,0.38659,0,0,0-.62354.40942L8.37738,8.50342A0.35757,0.35757,0,0,1,8,9.04584V9.05493H7.00818L7.0083,9.03485l-0.011.00183A6.05607,6.05607,0,0,0,1.01385,15H1v1.48767A0.51232,0.51232,0,0,0,1.51233,17H2.48767A0.51232,0.51232,0,0,0,3,16.48767V15.10992H3.0083a4.05782,4.05782,0,0,1,3.98877-4.07324"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/arrive-right.c b/src/displayapp/icons/navigation/arrive-right.c
new file mode 100644
index 00000000..da752bcc
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ARRIVE_RIGHT
+#define LV_ATTRIBUTE_IMG_ARRIVE_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE_RIGHT uint8_t arrive_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0x00, 0x1f, 0xfc,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x3f, 0xff,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x7f, 0xff,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff,
+ 0x7f, 0xff, 0xf1, 0xff, 0xff, 0xe0, 0x7f, 0xff,
+ 0xff, 0xff, 0x83, 0xff, 0xff, 0xc0, 0x3f, 0xff,
+ 0xff, 0xfe, 0x03, 0xff, 0xff, 0x00, 0x1f, 0xfc,
+ 0xff, 0xfc, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0xff, 0xf8, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0xff, 0xf0, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0xff, 0xc0, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0xff, 0xc0, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xc0, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xc0, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x1f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t arrive_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+arrive_right_map,
+};
diff --git a/src/displayapp/icons/navigation/arrive-right.png b/src/displayapp/icons/navigation/arrive-right.png
new file mode 100644
index 00000000..5aae5637
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/arrive-straight-white.svg b/src/displayapp/icons/navigation/arrive-straight-white.svg
new file mode 100644
index 00000000..0d20f9ce
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5a2,2,0,1,1,2-2A2,2,0,0,1,10,5Zm4.91284,8.35114L10.00916,7.0083,5.10547,13.35114a0.38659,0.38659,0,0,0,.40942.62354l2.95184-1.34375A0.35542,0.35542,0,0,1,9.00769,13H9v5.50006A0.49992,0.49992,0,0,0,9.49994,19h1.00012A0.49992,0.49992,0,0,0,11,18.50006V13.0083h0.00916a0.35757,0.35757,0,0,1,.54242-0.37738l2.95184,1.34375A0.3866,0.3866,0,0,0,14.91284,13.35114Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/arrive-straight.c b/src/displayapp/icons/navigation/arrive-straight.c
new file mode 100644
index 00000000..4345f619
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ARRIVE_STRAIGHT
+#define LV_ATTRIBUTE_IMG_ARRIVE_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE_STRAIGHT uint8_t arrive_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00,
+ 0x00, 0x03, 0xfc, 0x3f, 0xfc, 0x3f, 0xc0, 0x00,
+ 0x00, 0x03, 0xe0, 0x3f, 0xfc, 0x07, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t arrive_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+arrive_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/arrive-straight.png b/src/displayapp/icons/navigation/arrive-straight.png
new file mode 100644
index 00000000..c5e2e462
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/arrive-white.svg b/src/displayapp/icons/navigation/arrive-white.svg
new file mode 100644
index 00000000..0d20f9ce
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5a2,2,0,1,1,2-2A2,2,0,0,1,10,5Zm4.91284,8.35114L10.00916,7.0083,5.10547,13.35114a0.38659,0.38659,0,0,0,.40942.62354l2.95184-1.34375A0.35542,0.35542,0,0,1,9.00769,13H9v5.50006A0.49992,0.49992,0,0,0,9.49994,19h1.00012A0.49992,0.49992,0,0,0,11,18.50006V13.0083h0.00916a0.35757,0.35757,0,0,1,.54242-0.37738l2.95184,1.34375A0.3866,0.3866,0,0,0,14.91284,13.35114Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/arrive.c b/src/displayapp/icons/navigation/arrive.c
new file mode 100644
index 00000000..c53b48f1
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ARRIVE
+#define LV_ATTRIBUTE_IMG_ARRIVE
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ARRIVE uint8_t arrive_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00,
+ 0x00, 0x03, 0xfc, 0x3f, 0xfc, 0x3f, 0xc0, 0x00,
+ 0x00, 0x03, 0xe0, 0x3f, 0xfc, 0x07, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t arrive = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+arrive_map,
+};
diff --git a/src/displayapp/icons/navigation/arrive.png b/src/displayapp/icons/navigation/arrive.png
new file mode 100644
index 00000000..cb3dec0c
--- /dev/null
+++ b/src/displayapp/icons/navigation/arrive.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/close-white.svg b/src/displayapp/icons/navigation/close-white.svg
new file mode 100644
index 00000000..928004f4
--- /dev/null
+++ b/src/displayapp/icons/navigation/close-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M17.35551,4.05855L11.76558,9.64848a0.49713,0.49713,0,0,0,0,.703l5.58993,5.58993a0.49713,0.49713,0,0,1,0,.703l-0.711.711a0.49713,0.49713,0,0,1-.703,0l-5.58993-5.58993a0.49713,0.49713,0,0,0-.703,0L4.05855,17.35551a0.49713,0.49713,0,0,1-.703,0l-0.711-.711a0.49713,0.49713,0,0,1,0-.703l5.58993-5.58993a0.49713,0.49713,0,0,0,0-.703L2.64449,4.05855a0.49713,0.49713,0,0,1,0-.703l0.711-.711a0.49713,0.49713,0,0,1,.703,0L9.64848,8.23442a0.49713,0.49713,0,0,0,.703,0l5.58993-5.58993a0.49713,0.49713,0,0,1,.703,0l0.711,0.711A0.49713,0.49713,0,0,1,17.35551,4.05855Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/close.c b/src/displayapp/icons/navigation/close.c
new file mode 100644
index 00000000..cea764b4
--- /dev/null
+++ b/src/displayapp/icons/navigation/close.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CLOSE
+#define LV_ATTRIBUTE_IMG_CLOSE
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CLOSE uint8_t close_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff,
+ 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
+ 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff,
+ 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
+ 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff,
+ 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff,
+ 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff,
+ 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xfe,
+ 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xfc,
+ 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xf8,
+ 0x0f, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xf0,
+ 0x07, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xc0,
+ 0x01, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0x80,
+ 0x00, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0x00,
+ 0x00, 0x7f, 0xff, 0xf8, 0x1f, 0xff, 0xfe, 0x00,
+ 0x00, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x00,
+ 0x00, 0x1f, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x1f, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x00,
+ 0x00, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x00,
+ 0x00, 0x7f, 0xff, 0xf8, 0x1f, 0xff, 0xfe, 0x00,
+ 0x00, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0x00,
+ 0x01, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0x80,
+ 0x03, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xe0,
+ 0x0f, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xf0,
+ 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xf8,
+ 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xfc,
+ 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xfe,
+ 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff,
+ 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff,
+ 0xff, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
+ 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff,
+ 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
+ 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff,
+};
+
+const lv_img_dsc_t close = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+close_map,
+};
diff --git a/src/displayapp/icons/navigation/close.png b/src/displayapp/icons/navigation/close.png
new file mode 100644
index 00000000..f79b86bc
--- /dev/null
+++ b/src/displayapp/icons/navigation/close.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-left-white.svg b/src/displayapp/icons/navigation/continue-left-white.svg
new file mode 100644
index 00000000..3cb455d9
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5.97986l0.011,0.00183A6.06019,6.06019,0,0,1,16,12.05493V16H15.99689l0.002,1.50317A0.49614,0.49614,0,0,1,15.50269,18H14.49622A0.49622,0.49622,0,0,1,14,17.50378V12.05493a4.05782,4.05782,0,0,0-3.98877-4.07324H8.01245a0.3576,0.3576,0,0,0-.37738.54248L8.97882,11.476a0.38659,0.38659,0,0,1-.62354.40942L2.0083,7l6.347-4.922a0.38659,0.38659,0,0,1,.62354.40942L7.63507,5.43927a0.35757,0.35757,0,0,0,.37738.54242H10"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue-left.c b/src/displayapp/icons/navigation/continue-left.c
new file mode 100644
index 00000000..30bda4d7
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE_LEFT
+#define LV_ATTRIBUTE_IMG_CONTINUE_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_LEFT uint8_t continue_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t continue_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_left_map,
+};
diff --git a/src/displayapp/icons/navigation/continue-left.png b/src/displayapp/icons/navigation/continue-left.png
new file mode 100644
index 00000000..521df96a
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-right-white.svg b/src/displayapp/icons/navigation/continue-right-white.svg
new file mode 100644
index 00000000..98967557
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.98877,7.98169A4.05782,4.05782,0,0,0,6,12.05493v5.44885A0.49622,0.49622,0,0,1,5.50378,18H4.49731a0.49614,0.49614,0,0,1-.49615-0.49683L4.00311,16H4V12.05493A6.06019,6.06019,0,0,1,9.989,5.98169L10,5.97986V5.98169h1.98755a0.35757,0.35757,0,0,0,.37738-0.54242L11.02118,2.48743A0.38659,0.38659,0,0,1,11.64471,2.078L17.9917,7l-6.347,4.88544a0.38659,0.38659,0,0,1-.62354-0.40942l1.34375-2.95184a0.3576,0.3576,0,0,0-.37738-0.54248H9.98877Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue-right.c b/src/displayapp/icons/navigation/continue-right.c
new file mode 100644
index 00000000..4d4402f3
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE_RIGHT
+#define LV_ATTRIBUTE_IMG_CONTINUE_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_RIGHT uint8_t continue_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t continue_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_right_map,
+};
diff --git a/src/displayapp/icons/navigation/continue-right.png b/src/displayapp/icons/navigation/continue-right.png
new file mode 100644
index 00000000..ad4731c5
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-slight-left-white.svg b/src/displayapp/icons/navigation/continue-slight-left-white.svg
new file mode 100644
index 00000000..7ae2013c
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.9859,14.043v3.46082A0.49621,0.49621,0,0,1,14.48974,18H13.48321a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L8.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,6.58044,10.86L5,3l8.00476,0.44965a0.38658,0.38658,0,0,1,.20294.71777L10.25878,5.51758a0.3576,0.3576,0,0,0-.07019.6571l2.45746,2.07385A7.25158,7.25158,0,0,1,14.9859,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue-slight-left.c b/src/displayapp/icons/navigation/continue-slight-left.c
new file mode 100644
index 00000000..10b55946
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_LEFT uint8_t continue_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+};
+
+const lv_img_dsc_t continue_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/continue-slight-left.png b/src/displayapp/icons/navigation/continue-slight-left.png
new file mode 100644
index 00000000..31b13c95
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-slight-right-white.svg b/src/displayapp/icons/navigation/continue-slight-right-white.svg
new file mode 100644
index 00000000..46090067
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7.35395,8.24854L9.81141,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L6.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777L15,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L11.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L8.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,6.51679,18H5.51026a0.49621,0.49621,0,0,1-.49615-0.49622V14.043A7.25157,7.25157,0,0,1,7.35395,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue-slight-right.c b/src/displayapp/icons/navigation/continue-slight-right.c
new file mode 100644
index 00000000..a352c961
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_SLIGHT_RIGHT uint8_t continue_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t continue_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/continue-slight-right.png b/src/displayapp/icons/navigation/continue-slight-right.png
new file mode 100644
index 00000000..499fae90
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-straight-white.svg b/src/displayapp/icons/navigation/continue-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue-straight.c b/src/displayapp/icons/navigation/continue-straight.c
new file mode 100644
index 00000000..0c13621b
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE_STRAIGHT
+#define LV_ATTRIBUTE_IMG_CONTINUE_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_STRAIGHT uint8_t continue_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t continue_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/continue-straight.png b/src/displayapp/icons/navigation/continue-straight.png
new file mode 100644
index 00000000..98b444c3
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-uturn-white.svg b/src/displayapp/icons/navigation/continue-uturn-white.svg
new file mode 100644
index 00000000..b2c8a120
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-uturn-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M17.00909,8v9.49652A0.50346,0.50346,0,0,1,16.50562,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a3.5,3.5,0,1,0-7,0v4H8a0.35757,0.35757,0,0,0,.54242.37738l2.95184-1.34375a0.3866,0.3866,0,0,1,.40942.62354L7,18,2.09625,11.65717a0.3866,0.3866,0,0,1,.40942-0.62354l2.95184,1.34375A0.3576,0.3576,0,0,0,6,12H6.00909V8A5.5,5.5,0,1,1,17.00909,8Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue-uturn.c b/src/displayapp/icons/navigation/continue-uturn.c
new file mode 100644
index 00000000..ffd8ffbb
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-uturn.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE_UTURN
+#define LV_ATTRIBUTE_IMG_CONTINUE_UTURN
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE_UTURN uint8_t continue_uturn_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe,
+ 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x0f, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe,
+ 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe,
+ 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe,
+ 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe,
+ 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+};
+
+const lv_img_dsc_t continue_uturn = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_uturn_map,
+};
diff --git a/src/displayapp/icons/navigation/continue-uturn.png b/src/displayapp/icons/navigation/continue-uturn.png
new file mode 100644
index 00000000..c5adcec3
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-uturn.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/continue-white.svg b/src/displayapp/icons/navigation/continue-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/continue.c b/src/displayapp/icons/navigation/continue.c
new file mode 100644
index 00000000..7412cc9c
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_CONTINUE
+#define LV_ATTRIBUTE_IMG_CONTINUE
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_CONTINUE uint8_t continue_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t continue_icon = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+continue_map,
+};
diff --git a/src/displayapp/icons/navigation/continue.png b/src/displayapp/icons/navigation/continue.png
new file mode 100644
index 00000000..6ebd48ec
--- /dev/null
+++ b/src/displayapp/icons/navigation/continue.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/depart-left-white.svg b/src/displayapp/icons/navigation/depart-left-white.svg
new file mode 100644
index 00000000..935674e4
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15,19a2,2,0,1,1,2-2A2,2,0,0,1,15,19ZM10.00293,8.03668a4.05782,4.05782,0,0,1,3.98877,4.07324H14v1.37775A0.51232,0.51232,0,0,0,14.51233,14h0.97534A0.51232,0.51232,0,0,0,16,13.48767V12H15.98615a6.05607,6.05607,0,0,0-5.9834-5.96332l-0.011-.00183L9.99182,6.05493H9V6.04584a0.35757,0.35757,0,0,1-.37738-0.54242L9.96637,2.55157a0.38659,0.38659,0,0,0-.62354-0.40942L3,7.04584l6.34283,4.90369a0.3866,0.3866,0,0,0,.62354-0.40942L8.62262,8.58826A0.35757,0.35757,0,0,1,9,8.04584V8.05493h1"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/depart-left.c b/src/displayapp/icons/navigation/depart-left.c
new file mode 100644
index 00000000..c48c805e
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_DEPART_LEFT
+#define LV_ATTRIBUTE_IMG_DEPART_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART_LEFT uint8_t depart_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x3f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x03, 0xff, 0xfe, 0x00,
+ 0x00, 0x07, 0xff, 0xfe, 0x01, 0xff, 0xfe, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x80, 0x7f, 0xff, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x80,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x0f, 0xff, 0x80,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x0f, 0xff, 0x80,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xe0,
+};
+
+const lv_img_dsc_t depart_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+depart_left_map,
+};
diff --git a/src/displayapp/icons/navigation/depart-left.png b/src/displayapp/icons/navigation/depart-left.png
new file mode 100644
index 00000000..971b4664
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/depart-right-white.svg b/src/displayapp/icons/navigation/depart-right-white.svg
new file mode 100644
index 00000000..3ec82a79
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3,17a2,2,0,1,1,2,2A2,2,0,0,1,3,17Zm7-8.94507h1V8.04584a0.35757,0.35757,0,0,1,.37738.54242L10.03363,11.5401a0.3866,0.3866,0,0,0,.62354.40942L17,7.04584,10.65717,2.14215a0.38659,0.38659,0,0,0-.62354.40942l1.34375,2.95184A0.35757,0.35757,0,0,1,11,6.04584V6.05493H10.00818l0.00012-.02008-0.011.00183A6.05607,6.05607,0,0,0,4.01385,12H4v1.48767A0.51232,0.51232,0,0,0,4.51233,14H5.48767A0.51232,0.51232,0,0,0,6,13.48767V12.10992H6.0083A4.05782,4.05782,0,0,1,9.99707,8.03668"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/depart-right.c b/src/displayapp/icons/navigation/depart-right.c
new file mode 100644
index 00000000..190c321e
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_DEPART_RIGHT
+#define LV_ATTRIBUTE_IMG_DEPART_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART_RIGHT uint8_t depart_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x3f, 0xff, 0xe0, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x3f, 0xff, 0xc0, 0x3f, 0xff, 0xf0, 0x00,
+ 0x00, 0x7f, 0xff, 0x80, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x7f, 0xff, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x7f, 0xfe, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0xff, 0xfc, 0x00, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0xff, 0xf8, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0xff, 0xf8, 0x01, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x01, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x01, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x01, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x01, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x01, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x01, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t depart_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+depart_right_map,
+};
diff --git a/src/displayapp/icons/navigation/depart-right.png b/src/displayapp/icons/navigation/depart-right.png
new file mode 100644
index 00000000..474c7d17
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/depart-straight-white.svg b/src/displayapp/icons/navigation/depart-straight-white.svg
new file mode 100644
index 00000000..63ddd33f
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,19a2,2,0,1,1,2-2A2,2,0,0,1,10,19ZM14.91284,7.34283L10.00916,1,5.10547,7.34283a0.38659,0.38659,0,0,0,.40942.62354L8.46674,6.62262a0.35542,0.35542,0,0,1,.541.36908H9v5.50006a0.49992,0.49992,0,0,0,.49994.49994h1.00012A0.49992,0.49992,0,0,0,11,12.49176V7h0.00916a0.35757,0.35757,0,0,1,.54242-0.37738l2.95184,1.34375A0.3866,0.3866,0,0,0,14.91284,7.34283Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/depart-straight.c b/src/displayapp/icons/navigation/depart-straight.c
new file mode 100644
index 00000000..8be9069a
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_DEPART_STRAIGHT
+#define LV_ATTRIBUTE_IMG_DEPART_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART_STRAIGHT uint8_t depart_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00,
+ 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00,
+ 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t depart_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+depart_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/depart-straight.png b/src/displayapp/icons/navigation/depart-straight.png
new file mode 100644
index 00000000..3bc5b05e
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/depart-white.svg b/src/displayapp/icons/navigation/depart-white.svg
new file mode 100644
index 00000000..0794251c
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.98172,19a2,2,0,1,1,2-2A2,2,0,0,1,9.98172,19ZM14.89456,7.34283L9.99087,1,5.08719,7.34283a0.38659,0.38659,0,0,0,.40942.62354L8.44845,6.62262a0.35542,0.35542,0,0,1,.541.36908H8.98172v5.50006a0.49992,0.49992,0,0,0,.49994.49994h1.00012a0.49992,0.49992,0,0,0,.49994-0.49994V7h0.00916a0.35757,0.35757,0,0,1,.54242-0.37738l2.95184,1.34375A0.3866,0.3866,0,0,0,14.89456,7.34283Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/depart.c b/src/displayapp/icons/navigation/depart.c
new file mode 100644
index 00000000..cf7f4c5b
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_DEPART
+#define LV_ATTRIBUTE_IMG_DEPART
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_DEPART uint8_t depart_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00,
+ 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00,
+ 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t depart = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+depart_map,
+};
diff --git a/src/displayapp/icons/navigation/depart.png b/src/displayapp/icons/navigation/depart.png
new file mode 100644
index 00000000..ef86ae25
--- /dev/null
+++ b/src/displayapp/icons/navigation/depart.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/end-of-road-left-white.svg b/src/displayapp/icons/navigation/end-of-road-left-white.svg
new file mode 100644
index 00000000..3eca7bb9
--- /dev/null
+++ b/src/displayapp/icons/navigation/end-of-road-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M16.50354,6.2A0.29678,0.29678,0,0,1,16.8,6.49646V7.50354A0.29678,0.29678,0,0,1,16.50354,7.8H7.2V6.2h9.30353m0-.2H7V8h9.50354A0.49645,0.49645,0,0,0,17,7.50354V6.49646A0.49645,0.49645,0,0,0,16.50354,6h0ZM10,5.98169H8.01245a0.35757,0.35757,0,0,1-.37738-0.54242L8.97882,2.48743A0.38659,0.38659,0,0,0,8.35529,2.078L2.0083,7l6.347,4.88544A0.38659,0.38659,0,0,0,8.97882,11.476L7.63507,8.52417a0.3576,0.3576,0,0,1,.37738-0.54248h1.99878A4.05782,4.05782,0,0,1,14,12.05493v5.44885A0.49622,0.49622,0,0,0,14.49622,18h1.00647a0.49614,0.49614,0,0,0,.49615-0.49683L15.99689,16H16V12.05493a6.06019,6.06019,0,0,0-5.989-6.07324L10,5.97986"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/end-of-road-left.c b/src/displayapp/icons/navigation/end-of-road-left.c
new file mode 100644
index 00000000..a30650af
--- /dev/null
+++ b/src/displayapp/icons/navigation/end-of-road-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_END_OF_ROAD_LEFT
+#define LV_ATTRIBUTE_IMG_END_OF_ROAD_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_END_OF_ROAD_LEFT uint8_t end_of_road_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1c,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x1c,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x03, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x80,
+ 0x01, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0x80,
+ 0x00, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xc0,
+ 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xc0,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xe0,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xe0,
+ 0x00, 0x01, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xe0,
+ 0x00, 0x00, 0xff, 0xfe, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x0f, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
+};
+
+const lv_img_dsc_t end_of_road_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+end_of_road_left_map,
+};
diff --git a/src/displayapp/icons/navigation/end-of-road-left.png b/src/displayapp/icons/navigation/end-of-road-left.png
new file mode 100644
index 00000000..6b10d486
--- /dev/null
+++ b/src/displayapp/icons/navigation/end-of-road-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/end-of-road-right-white.svg b/src/displayapp/icons/navigation/end-of-road-right-white.svg
new file mode 100644
index 00000000..d8670e3a
--- /dev/null
+++ b/src/displayapp/icons/navigation/end-of-road-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M12.8,6.2V7.8H2.50119A0.30152,0.30152,0,0,1,2.2,7.49882V6.50118A0.30152,0.30152,0,0,1,2.50119,6.2H12.8M13,6H2.50119A0.50119,0.50119,0,0,0,2,6.50118V7.49882A0.50119,0.50119,0,0,0,2.50119,8H13V6h0ZM10,7.98169h1.98755a0.3576,0.3576,0,0,1,.37738.54248L11.02118,11.476a0.38659,0.38659,0,0,0,.62354.40942L17.9917,7l-6.347-4.922a0.38659,0.38659,0,0,0-.62354.40942l1.34375,2.95184a0.35757,0.35757,0,0,1-.37738.54242H10V5.97986l-0.011.00183A6.06019,6.06019,0,0,0,4,12.05493V16H4.00311l-0.002,1.50317A0.49614,0.49614,0,0,0,4.49731,18H5.50378A0.49622,0.49622,0,0,0,6,17.50378V12.05493A4.05782,4.05782,0,0,1,9.98877,7.98169H10Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/end-of-road-right.c b/src/displayapp/icons/navigation/end-of-road-right.c
new file mode 100644
index 00000000..c3d5f071
--- /dev/null
+++ b/src/displayapp/icons/navigation/end-of-road-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_END_OF_ROAD_RIGHT
+#define LV_ATTRIBUTE_IMG_END_OF_ROAD_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_END_OF_ROAD_RIGHT uint8_t end_of_road_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x7f, 0xff, 0xfe, 0x03, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xe0,
+ 0x00, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0x80,
+ 0x01, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xfe, 0x00,
+ 0x01, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xfc, 0x00,
+ 0x01, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf0, 0x00,
+ 0x03, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xe0, 0x00,
+ 0x03, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xc0, 0x00,
+ 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0x80, 0x00,
+ 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0x00, 0x00,
+ 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xfc, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xf0, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t end_of_road_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+end_of_road_right_map,
+};
diff --git a/src/displayapp/icons/navigation/end-of-road-right.png b/src/displayapp/icons/navigation/end-of-road-right.png
new file mode 100644
index 00000000..9f1dbbc7
--- /dev/null
+++ b/src/displayapp/icons/navigation/end-of-road-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/ferry-white.svg b/src/displayapp/icons/navigation/ferry-white.svg
new file mode 100644
index 00000000..5c7df87e
--- /dev/null
+++ b/src/displayapp/icons/navigation/ferry-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>ferry</title>
+ <path fill="#ffffff" d="m 7.3995155,14.184682 c 0.8083073,0.01079 1.5892915,0.293603 2.2170029,0.802914 l 0.3115788,0.275628 0.059919,0 0.3714978,-0.335547 c 1.17645,-0.972485 2.850946,-1.060086 4.122427,-0.215708 l 2.708339,-5.3208066 -1.79757,-1.1983797 0,-4.2542487 C 15.336866,2.9798301 14.555162,2.2242515 13.59514,2.2008831 l -0.59919,0 c 0.0411,-0.6207608 -0.4289,-1.1572754 -1.049661,-1.1983799 -0.04949,-0.00324 -0.09923,-0.00324 -0.148719,0 l -3.5951399,0 c -0.6207608,-0.041104 -1.1572755,0.4289002 -1.1983799,1.049661 -0.00324,0.049493 -0.00324,0.099226 0,0.1487189 l -0.59919,0 C 5.4448381,2.2242511 4.6631348,2.9798301 4.6072903,3.938534 l 0,4.2542487 -1.7975698,1.1983797 2.6963548,5.4286606 C 6.0624831,14.429271 6.720154,14.208649 7.3995155,14.184682 Z M 5.8056702,3.938534 c 0.012583,-0.3108597 0.2747886,-0.552573 0.5855285,-0.53999 0.00455,2.397e-4 0.00911,4.794e-4 0.013661,7.19e-4 l 7.1902793,0 c 0.310381,-0.020492 0.578698,0.2143902 0.59919,0.5247706 0.0017,0.024807 0.0017,0.049613 0,0.074419 l 0,3.5951398 L 9.9999999,5.1968329 5.8056702,7.5336738 c 0,0 0,-3.5951398 0,-3.5951398 z m 11.9837988,12.642908 0,1.19838 c -0.314695,0.02325 -0.607459,0.16969 -0.814898,0.407449 -0.325599,0.345493 -0.74036,0.594276 -1.19838,0.719028 -0.736644,0.217506 -1.533326,0.05093 -2.121133,-0.443401 l -0.467367,-0.419433 c -0.364667,-0.36263 -0.953551,-0.36263 -1.318218,0 -0.167773,0.143806 -0.323562,0.299595 -0.503319,0.443401 -0.878174,0.701771 -2.1347949,0.666299 -2.9719831,-0.08389 l -0.4673682,-0.41943 c -0.343216,-0.299834 -0.8551639,-0.299834 -1.1983799,0 C 6.5007306,18.163303 6.297006,18.367028 6.0693138,18.546785 5.2252949,19.17174 4.0641846,19.14214 3.253121,18.474885 L 2.8816233,18.151319 C 2.7082177,17.952748 2.4708186,17.821286 2.2105305,17.779822 l 0,-1.19838 c 0.3097812,-0.03835 0.6237567,0.02025 0.8987849,0.167773 0.3333893,0.206361 0.6500013,0.438727 0.9467202,0.69506 0.2457877,0.267838 0.6168061,0.382283 0.9706877,0.299595 0.1348177,-0.03991 0.2608873,-0.104978 0.3714978,-0.191741 0.1917408,-0.143805 0.3475302,-0.311578 0.5392709,-0.467368 0.8515688,-0.705606 2.0844621,-0.705606 2.9360308,0 0.1917408,0.15579 0.3714978,0.335547 0.5632386,0.491336 0.343216,0.299835 0.8551636,0.299835 1.1983796,0 0.191741,-0.155789 0.371498,-0.335546 0.563239,-0.491336 0.853606,-0.712197 2.094409,-0.712197 2.948015,0 0.179757,0.15579 0.34753,0.323563 0.527287,0.467368 0.343216,0.299835 0.855164,0.299835 1.19838,0 L 16.4353,17.060794 c 0.382882,-0.31062 0.861155,-0.479951 1.354169,-0.479352 z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/ferry.c b/src/displayapp/icons/navigation/ferry.c
new file mode 100644
index 00000000..d4783511
--- /dev/null
+++ b/src/displayapp/icons/navigation/ferry.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FERRY
+#define LV_ATTRIBUTE_IMG_FERRY
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FERRY uint8_t ferry_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe0, 0x07, 0xe0, 0x07, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe0, 0x0f, 0xf0, 0x07, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe0, 0x7f, 0xfc, 0x07, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe0, 0xff, 0xff, 0x07, 0xf8, 0x00,
+ 0x00, 0x1f, 0xe3, 0xff, 0xff, 0xc7, 0xf8, 0x00,
+ 0x00, 0x1f, 0xef, 0xff, 0xff, 0xf7, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xf8, 0x7f, 0xfc, 0x0f, 0xc0, 0x00,
+ 0x00, 0x03, 0xe0, 0x1f, 0xf8, 0x03, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00,
+ 0x0f, 0x00, 0x1f, 0xe0, 0x07, 0xfc, 0x00, 0xf0,
+ 0x0f, 0xc0, 0xff, 0xf8, 0x1f, 0xff, 0x03, 0xf0,
+ 0x0f, 0xf1, 0xff, 0xfc, 0x3f, 0xff, 0x8f, 0xf0,
+ 0x0f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xfd, 0xff, 0xff, 0x3f, 0xff, 0xe0,
+ 0x07, 0xff, 0xf8, 0xff, 0xff, 0x3f, 0xff, 0xc0,
+};
+
+const lv_img_dsc_t ferry = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+ferry_map,
+};
diff --git a/src/displayapp/icons/navigation/ferry.png b/src/displayapp/icons/navigation/ferry.png
new file mode 100644
index 00000000..c938fccb
--- /dev/null
+++ b/src/displayapp/icons/navigation/ferry.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/flag-white.svg b/src/displayapp/icons/navigation/flag-white.svg
new file mode 100644
index 00000000..b5f0e7d9
--- /dev/null
+++ b/src/displayapp/icons/navigation/flag-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3.5,18h0A0.5,0.5,0,0,1,3,17.5V3.5A0.5,0.5,0,0,1,3.5,3h0a0.5,0.5,0,0,1,.5.5v14A0.5,0.5,0,0,1,3.5,18ZM13.33333,7L17,3H6v8H17Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/flag.c b/src/displayapp/icons/navigation/flag.c
new file mode 100644
index 00000000..164583c4
--- /dev/null
+++ b/src/displayapp/icons/navigation/flag.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FLAG
+#define LV_ATTRIBUTE_IMG_FLAG
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG uint8_t flag_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t flag = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+flag_map,
+};
diff --git a/src/displayapp/icons/navigation/flag.png b/src/displayapp/icons/navigation/flag.png
new file mode 100644
index 00000000..22842cfe
--- /dev/null
+++ b/src/displayapp/icons/navigation/flag.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/fork-left-white.svg b/src/displayapp/icons/navigation/fork-left-white.svg
new file mode 100644
index 00000000..7b6b6327
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M17.73611,6.57682a0.30465,0.30465,0,0,1,.23032.10507l0.649,0.74859a0.30457,0.30457,0,0,1-.03369.43226L16.5213,9.60119a5.4089,5.4089,0,0,0-1.73306,4.29459l0.0047,3.60769A0.29612,0.29612,0,0,1,14.4968,17.8H13.49033a0.29657,0.29657,0,0,1-.29623-0.29622l-0.00058-3.47624A6.99129,6.99129,0,0,1,15.463,8.40138l2.077-1.75275a0.30475,0.30475,0,0,1,.1962-0.07182m0-.2a0.50269,0.50269,0,0,0-.32516.119L15.334,8.24854A7.25157,7.25157,0,0,0,12.99411,14.043v3.46082A0.49622,0.49622,0,0,0,13.49033,18H14.4968a0.49614,0.49614,0,0,0,.49615-0.49681l-0.0047-3.60767a5.2182,5.2182,0,0,1,1.665-4.14405L18.71066,8.0156a0.50455,0.50455,0,0,0,.05585-0.71613l-0.649-.74859a0.50345,0.50345,0,0,0-.38147-0.17406h0ZM9.00078,5.98169H7.01323a0.35757,0.35757,0,0,1-.37738-0.54242L7.9796,2.48743A0.38659,0.38659,0,0,0,7.35606,2.078L1.00908,7l6.347,4.88544A0.38659,0.38659,0,0,0,7.9796,11.476L6.63585,8.52417a0.3576,0.3576,0,0,1,.37738-0.54248H9.012a4.05782,4.05782,0,0,1,3.98877,4.07324v5.44885A0.49622,0.49622,0,0,0,13.497,18h1.00647a0.49614,0.49614,0,0,0,.49615-0.49683L14.99766,16h0.00311V12.05493a6.06019,6.06019,0,0,0-5.989-6.07324l-0.011-.00183"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/fork-left.c b/src/displayapp/icons/navigation/fork-left.c
new file mode 100644
index 00000000..1640a228
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FORK_LEFT
+#define LV_ATTRIBUTE_IMG_FORK_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_LEFT uint8_t fork_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xfe,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x03, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
+ 0x1f, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0x0f, 0xff, 0xfe, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xfe,
+ 0x03, 0xff, 0xff, 0x00, 0x1f, 0xff, 0xff, 0xfc,
+ 0x00, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0x80, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x1f, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x0f, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x80,
+ 0x00, 0x07, 0xff, 0xe0, 0x01, 0xff, 0xff, 0x00,
+ 0x00, 0x01, 0xff, 0xe0, 0x00, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0xff, 0xe0, 0x00, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x7f, 0xf8, 0x00,
+ 0x00, 0x00, 0x07, 0xc0, 0x00, 0x7f, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t fork_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+fork_left_map,
+};
diff --git a/src/displayapp/icons/navigation/fork-left.png b/src/displayapp/icons/navigation/fork-left.png
new file mode 100644
index 00000000..1459b359
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/fork-right-white.svg b/src/displayapp/icons/navigation/fork-right-white.svg
new file mode 100644
index 00000000..99e7e565
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M2.27386,6.57682A0.30457,0.30457,0,0,1,2.47,6.64864L4.544,8.39882A7.00218,7.00218,0,0,1,6.81586,14.043v3.46088A0.29651,0.29651,0,0,1,6.51968,17.8H5.51318A0.29613,0.29613,0,0,1,5.217,17.50343L5.22079,13.9146a5.42,5.42,0,0,0-1.73517-4.316L1.42825,7.86274a0.30461,0.30461,0,0,1-.03372-0.43226l0.649-.74859a0.30466,0.30466,0,0,1,.23035-0.10507m0-.2a0.50345,0.50345,0,0,0-.38147.17406l-0.649.74859a0.50458,0.50458,0,0,0,.05588.71613L3.35666,9.75146a5.2182,5.2182,0,0,1,1.665,4.14405L5.017,17.50317A0.49617,0.49617,0,0,0,5.51318,18h1.0065a0.49616,0.49616,0,0,0,.49615-0.49615V14.043A7.25157,7.25157,0,0,0,4.676,8.24854L2.599,6.49579a0.50264,0.50264,0,0,0-.32516-0.119h0ZM11.0083,7.98169h1.98755a0.3576,0.3576,0,0,1,.37738.54248L12.02948,11.476a0.38659,0.38659,0,0,0,.62354.40942L19,7,12.653,2.078a0.38659,0.38659,0,0,0-.62354.40942l1.34375,2.95184a0.35757,0.35757,0,0,1-.37738.54242H11.0083V5.97986l-0.011.00183a6.06019,6.06019,0,0,0-5.989,6.07324V16H5.01141l-0.002,1.50317A0.49614,0.49614,0,0,0,5.50562,18H6.51208a0.49622,0.49622,0,0,0,.49622-0.49622V12.05493a4.05782,4.05782,0,0,1,3.98877-4.07324H11.0083Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/fork-right.c b/src/displayapp/icons/navigation/fork-right.c
new file mode 100644
index 00000000..162b53dd
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FORK_RIGHT
+#define LV_ATTRIBUTE_IMG_FORK_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_RIGHT uint8_t fork_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfe,
+ 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xf8,
+ 0xff, 0xbf, 0xff, 0xff, 0x00, 0xff, 0xff, 0xf0,
+ 0x7f, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xe0,
+ 0x3f, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xc0,
+ 0x1f, 0xf7, 0xff, 0xf0, 0x01, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xe0, 0x03, 0xff, 0xfe, 0x00,
+ 0x03, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xf8, 0x00,
+ 0x01, 0xff, 0xff, 0x80, 0x03, 0xff, 0xf0, 0x00,
+ 0x00, 0xff, 0xff, 0x00, 0x07, 0xff, 0xe0, 0x00,
+ 0x00, 0xff, 0xff, 0x00, 0x07, 0xff, 0x80, 0x00,
+ 0x00, 0x7f, 0xff, 0x00, 0x07, 0xff, 0x00, 0x00,
+ 0x00, 0x3f, 0xfe, 0x00, 0x07, 0xfe, 0x00, 0x00,
+ 0x00, 0x3f, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x07, 0xf0, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x03, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t fork_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+fork_right_map,
+};
diff --git a/src/displayapp/icons/navigation/fork-right.png b/src/displayapp/icons/navigation/fork-right.png
new file mode 100644
index 00000000..c1d655be
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/fork-slight-left-white.svg b/src/displayapp/icons/navigation/fork-slight-left-white.svg
new file mode 100644
index 00000000..f19e01b4
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15.75607,6.57682a0.30471,0.30471,0,0,1,.23035.10507l0.649,0.74859a0.30457,0.30457,0,0,1-.03369.43226L14.54129,9.60119a5.4089,5.4089,0,0,0-1.73306,4.29459l0.0047,3.60769a0.29613,0.29613,0,0,1-.29614.29654H11.51031a0.29657,0.29657,0,0,1-.29623-0.29622L11.2135,14.02754a6.99129,6.99129,0,0,1,2.26944-5.62616l2.077-1.75275a0.30461,0.30461,0,0,1,.19617-0.07182m0-.2a0.50263,0.50263,0,0,0-.32516.119l-2.077,1.75275A7.25157,7.25157,0,0,0,11.0141,14.043v3.46082A0.49622,0.49622,0,0,0,11.51031,18h1.00647a0.49616,0.49616,0,0,0,.49615-0.49681l-0.0047-3.60767a5.2182,5.2182,0,0,1,1.665-4.14405L16.73065,8.0156a0.50458,0.50458,0,0,0,.05585-0.71613l-0.649-.74859a0.50345,0.50345,0,0,0-.38147-0.17406h0Zm-5.11,1.87171L8.18859,6.17468a0.3576,0.3576,0,0,1,.07019-0.6571L11.2077,4.16742a0.38658,0.38658,0,0,0-.20294-0.71777L3,3l1.58044,7.86a0.38663,0.38663,0,0,0,.73938.09912L6.238,7.84851a0.35758,0.35758,0,0,1,.6405-0.16266L9.32672,9.75146a5.21819,5.21819,0,0,1,1.665,4.144l-0.0047,3.60767A0.49614,0.49614,0,0,0,11.48321,18h1.00653a0.49621,0.49621,0,0,0,.49615-0.49622V14.043A7.25158,7.25158,0,0,0,10.64605,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/fork-slight-left.c b/src/displayapp/icons/navigation/fork-slight-left.c
new file mode 100644
index 00000000..5b8e194f
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FORK_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_FORK_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_SLIGHT_LEFT uint8_t fork_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xe0,
+ 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xf8,
+ 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xf8,
+ 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xfc,
+ 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xfc,
+ 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0xff, 0xfc,
+ 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xfc,
+ 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x03, 0xff, 0x7c,
+ 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xfe, 0x7c,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xfd, 0xfc,
+ 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xf3, 0xfc,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe7, 0xfc,
+ 0x07, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xcf, 0xfc,
+ 0x07, 0xff, 0x87, 0xff, 0xff, 0xff, 0x9f, 0xf8,
+ 0x07, 0xff, 0x83, 0xff, 0xff, 0xff, 0x7f, 0xe0,
+ 0x07, 0xff, 0x81, 0xff, 0xff, 0xfe, 0xff, 0xc0,
+ 0x03, 0xff, 0x00, 0x7f, 0xff, 0xfd, 0xff, 0x80,
+ 0x03, 0xff, 0x00, 0x3f, 0xff, 0xfb, 0xff, 0x00,
+ 0x03, 0xff, 0x00, 0x1f, 0xff, 0xf3, 0xfe, 0x00,
+ 0x03, 0xfe, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00,
+ 0x03, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00,
+ 0x01, 0xfe, 0x00, 0x03, 0xff, 0xff, 0xe0, 0x00,
+ 0x01, 0xfc, 0x00, 0x03, 0xff, 0xff, 0xe0, 0x00,
+ 0x01, 0xfc, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00,
+};
+
+const lv_img_dsc_t fork_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+fork_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/fork-slight-left.png b/src/displayapp/icons/navigation/fork-slight-left.png
new file mode 100644
index 00000000..c61bf0e5
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/fork-slight-right-white.svg b/src/displayapp/icons/navigation/fork-slight-right-white.svg
new file mode 100644
index 00000000..25ac5752
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M4.26865,6.57682a0.30457,0.30457,0,0,1,.19617.07182l2.074,1.75018A7.00218,7.00218,0,0,1,8.81064,14.043v3.46088A0.29651,0.29651,0,0,1,8.51447,17.8H7.50793a0.29612,0.29612,0,0,1-.29614-0.29655L7.21558,13.9146a5.42,5.42,0,0,0-1.73517-4.316L3.423,7.86274a0.30454,0.30454,0,0,1-.03372-0.43226l0.649-.74859a0.30466,0.30466,0,0,1,.23035-0.10507m0-.2a0.50345,0.50345,0,0,0-.38147.17406l-0.649.74859a0.50455,0.50455,0,0,0,.05588.71613L5.35144,9.75146a5.2182,5.2182,0,0,1,1.665,4.14405l-0.0047,3.60767A0.49614,0.49614,0,0,0,7.50793,18H8.51447a0.49616,0.49616,0,0,0,.49615-0.49615V14.043A7.25157,7.25157,0,0,0,6.67078,8.24854l-2.077-1.75275a0.50264,0.50264,0,0,0-.32516-0.119h0ZM7.0141,14.043v3.46082A0.49621,0.49621,0,0,0,7.51025,18H8.51678a0.49614,0.49614,0,0,0,.49615-0.49683l-0.0047-3.60767a5.21819,5.21819,0,0,1,1.665-4.144l2.44818-2.06561a0.35758,0.35758,0,0,1,.6405.16266l0.91821,3.1106A0.38663,0.38663,0,0,0,15.41956,10.86L17,3l-8.00476.44965a0.38658,0.38658,0,0,0-.20294.71777l2.94891,1.35016a0.3576,0.3576,0,0,1,.07019.6571L9.35394,8.24854A7.25157,7.25157,0,0,0,7.0141,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/fork-slight-right.c b/src/displayapp/icons/navigation/fork-slight-right.c
new file mode 100644
index 00000000..f2c4dec2
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FORK_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_FORK_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_SLIGHT_RIGHT uint8_t fork_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc,
+ 0x07, 0xc0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc,
+ 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8,
+ 0x1f, 0xf0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf8,
+ 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8,
+ 0x3f, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8,
+ 0x3f, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8,
+ 0x3f, 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xf0,
+ 0x3e, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0x7f, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0xbf, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0xcf, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xf0,
+ 0x3f, 0xe7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x3f, 0xf3, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xe0,
+ 0x0f, 0xfd, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xe0,
+ 0x07, 0xfe, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xe0,
+ 0x03, 0xff, 0x7f, 0xff, 0xff, 0x81, 0xff, 0xe0,
+ 0x01, 0xff, 0xbf, 0xff, 0xfe, 0x00, 0xff, 0xc0,
+ 0x00, 0xff, 0xdf, 0xff, 0xfc, 0x00, 0xff, 0xc0,
+ 0x00, 0x7f, 0xcf, 0xff, 0xf8, 0x00, 0xff, 0xc0,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xc0,
+ 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xc0,
+ 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0x80,
+ 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0x80,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x3f, 0x80,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x3f, 0x80,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t fork_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+fork_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/fork-slight-right.png b/src/displayapp/icons/navigation/fork-slight-right.png
new file mode 100644
index 00000000..f6a942fd
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/fork-straight-white.svg b/src/displayapp/icons/navigation/fork-straight-white.svg
new file mode 100644
index 00000000..128c5944
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M17.75607,6.59766a0.30466,0.30466,0,0,1,.23035.10507l0.649,0.74859a0.30457,0.30457,0,0,1-.03369.43226L16.54129,9.622a5.4089,5.4089,0,0,0-1.73306,4.29459l0.0047,3.60769a0.29613,0.29613,0,0,1-.29614.29654H13.51031a0.29657,0.29657,0,0,1-.29623-0.29622L13.2135,14.04838a6.99129,6.99129,0,0,1,2.26944-5.62616l2.077-1.75275a0.30461,0.30461,0,0,1,.19617-0.07182m0-.2a0.50264,0.50264,0,0,0-.32516.119l-2.077,1.75275A7.25157,7.25157,0,0,0,13.0141,14.0638v3.46082a0.49622,0.49622,0,0,0,.49622.49622h1.00647a0.49616,0.49616,0,0,0,.49615-0.49681l-0.0047-3.60767a5.2182,5.2182,0,0,1,1.665-4.14405l2.05737-1.73586A0.50455,0.50455,0,0,0,18.7865,7.3203l-0.649-.74859a0.50345,0.50345,0,0,0-.38147-0.17406h0ZM2.24393,6.57682a0.30457,0.30457,0,0,1,.19617.07182l2.074,1.75018A7.00218,7.00218,0,0,1,6.78592,14.043v3.46088A0.29651,0.29651,0,0,1,6.48975,17.8H5.48322a0.29613,0.29613,0,0,1-.29614-0.29655L5.19086,13.9146a5.42,5.42,0,0,0-1.73517-4.316L1.39832,7.86274a0.30457,0.30457,0,0,1-.03369-0.43226l0.649-.74859a0.30466,0.30466,0,0,1,.23035-0.10507m0-.2a0.50345,0.50345,0,0,0-.38147.17406l-0.649.74859a0.50455,0.50455,0,0,0,.05585.71613L3.32672,9.75146a5.2182,5.2182,0,0,1,1.665,4.14405l-0.0047,3.60767A0.49616,0.49616,0,0,0,5.48322,18H6.48975a0.49616,0.49616,0,0,0,.49615-0.49615V14.043A7.25157,7.25157,0,0,0,4.64606,8.24854l-2.077-1.75275a0.50264,0.50264,0,0,0-.32516-0.119h0Zm12.66891,1.966L10.00916,2,5.10547,8.34283a0.38659,0.38659,0,0,0,.40942.62354L8.46674,7.62262A0.35756,0.35756,0,0,1,9.00916,8v9.49652A0.50346,0.50346,0,0,0,9.51263,18h0.993a0.50346,0.50346,0,0,0,.50348-0.50348V8a0.35755,0.35755,0,0,1,.54242-0.37738l2.95184,1.34375A0.3866,0.3866,0,0,0,14.91284,8.34283Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/fork-straight.c b/src/displayapp/icons/navigation/fork-straight.c
new file mode 100644
index 00000000..e8df2070
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FORK_STRAIGHT
+#define LV_ATTRIBUTE_IMG_FORK_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK_STRAIGHT uint8_t fork_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x3e, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x7f, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0xfe,
+ 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff,
+ 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff,
+ 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff,
+ 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xbf, 0xfd, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xfe, 0x3f, 0xfc, 0x7f, 0xff, 0xff,
+ 0x3f, 0xff, 0xf0, 0x3f, 0xfc, 0x0f, 0xff, 0xfe,
+ 0x3f, 0xff, 0xf0, 0x3f, 0xfc, 0x0f, 0xff, 0xfc,
+ 0x0f, 0xff, 0xf0, 0x3f, 0xfc, 0x0f, 0xff, 0xf0,
+ 0x07, 0xff, 0xf8, 0x3f, 0xfc, 0x1f, 0xff, 0xe0,
+ 0x03, 0xff, 0xf8, 0x3f, 0xfc, 0x1f, 0xff, 0xc0,
+ 0x01, 0xff, 0xfc, 0x3f, 0xfc, 0x3f, 0xff, 0x80,
+ 0x00, 0xfe, 0xfc, 0x3f, 0xfc, 0x3f, 0x7f, 0x00,
+ 0x00, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x00,
+ 0x00, 0x3f, 0x7e, 0x3f, 0xfc, 0x7e, 0xfe, 0x00,
+ 0x00, 0x3f, 0x7e, 0x3f, 0xfc, 0x7e, 0xfc, 0x00,
+ 0x00, 0x3f, 0x7e, 0x3f, 0xfc, 0x7e, 0xfc, 0x00,
+ 0x00, 0x1f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf8, 0x00,
+ 0x00, 0x1f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf8, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xbe, 0x3f, 0xfc, 0x7d, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t fork_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+fork_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/fork-straight.png b/src/displayapp/icons/navigation/fork-straight.png
new file mode 100644
index 00000000..f0f5a7d6
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/fork-white.svg b/src/displayapp/icons/navigation/fork-white.svg
new file mode 100644
index 00000000..0192689c
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M19,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L15.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L12.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,10.51678,18H9.48322a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L4.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,2.58044,10.86L1,3,9.00476,3.44965a0.38658,0.38658,0,0,1,.20294.71777L6.25879,5.51758a0.3576,0.3576,0,0,0-.07019.6571L8.64606,8.24854A6.64064,6.64064,0,0,1,10,9.89148a6.64064,6.64064,0,0,1,1.35394-1.64294L13.8114,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L10.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/fork.c b/src/displayapp/icons/navigation/fork.c
new file mode 100644
index 00000000..60d4df96
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_FORK
+#define LV_ATTRIBUTE_IMG_FORK
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FORK uint8_t fork_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff,
+ 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff,
+ 0x7f, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xfe,
+ 0x7f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xfe,
+ 0x7f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xfe,
+ 0x7f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfe,
+ 0x3f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfc,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x3f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xfc,
+ 0x3f, 0xf9, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xfc,
+ 0x3f, 0xf8, 0x7f, 0xff, 0xff, 0xfe, 0x1f, 0xfc,
+ 0x3f, 0xf0, 0x3f, 0xff, 0xff, 0xfc, 0x0f, 0xfc,
+ 0x1f, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0x0f, 0xf8,
+ 0x1f, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xf8,
+ 0x1f, 0xe0, 0x07, 0xff, 0xff, 0xe0, 0x07, 0xf8,
+ 0x1f, 0xe0, 0x03, 0xff, 0xff, 0xc0, 0x07, 0xf8,
+ 0x0f, 0xe0, 0x01, 0xff, 0xff, 0x80, 0x07, 0xf0,
+ 0x0f, 0xe0, 0x00, 0xff, 0xff, 0x00, 0x07, 0xf0,
+ 0x0f, 0xc0, 0x00, 0xff, 0xff, 0x00, 0x03, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t fork = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+fork_map,
+};
diff --git a/src/displayapp/icons/navigation/fork.png b/src/displayapp/icons/navigation/fork.png
new file mode 100644
index 00000000..5a8e4db9
--- /dev/null
+++ b/src/displayapp/icons/navigation/fork.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/img_conv_core.php b/src/displayapp/icons/navigation/img_conv_core.php
new file mode 100644
index 00000000..f12b76e0
--- /dev/null
+++ b/src/displayapp/icons/navigation/img_conv_core.php
@@ -0,0 +1,822 @@
+<?php
+
+class Converter {
+ var $dith; /*Dithering enable/disable*/
+ var $w; /*Image width*/
+ var $h; /*Image height*/
+ var $cf; /*Color format*/
+ var $alpha; /*Add alpha byte or not*/
+ var $chroma; /*Chroma keyed?*/
+ var $d_out; /*Output data (result)*/
+ var $img; /*Image resource*/
+ var $out_name; /*Name of the output file*/
+ var $path; /*Path to the image file*/
+
+ /*Helper variables*/
+ var $r_act;
+ var $b_act;
+ var $g_act;
+
+ /*For dithering*/
+ var $r_earr; /*Classification error for next row of pixels*/
+ var $g_earr;
+ var $b_earr;
+
+ var $r_nerr; /*Classification error for next pixel*/
+ var $g_err;
+ var $b_nerr;
+
+ const CF_TRUE_COLOR_332 = 0; /*Helper formats. Used internally*/
+ const CF_TRUE_COLOR_565 = 1;
+ const CF_TRUE_COLOR_565_SWAP = 2;
+ const CF_TRUE_COLOR_888 = 3;
+ const CF_ALPHA_1_BIT = 4;
+ const CF_ALPHA_2_BIT = 5;
+ const CF_ALPHA_4_BIT = 6;
+ const CF_ALPHA_8_BIT = 7;
+ const CF_INDEXED_1_BIT = 8;
+ const CF_INDEXED_2_BIT = 9;
+ const CF_INDEXED_4_BIT = 10;
+ const CF_INDEXED_8_BIT = 11;
+ const CF_RAW = 12;
+ const CF_RAW_ALPHA = 13;
+ const CF_RAW_CHROMA = 12;
+
+ const CF_TRUE_COLOR = 100; /*Helper formats is C arrays contains all treu color formats (usin in "download")*/
+ const CF_TRUE_COLOR_ALPHA = 101;
+ const CF_TRUE_COLOR_CHROMA = 102;
+
+ /**
+ * @param path the image file
+ * @param real_name the real image file name (different in online mode)
+ * @param out_name name of the output file
+ * @param dith 1: dither enabled; 0: disabled
+ * @param cf color format
+ */
+ function __construct ($path, $real_name, $out_name ,$dith, $cf) {
+
+ $this->dith = $dith;
+ $this->out_name = $out_name;
+ $this->path = $path;
+
+ if($cf == "raw" || $cf == "raw_alpha" || $cf == "raw_chroma") return;
+
+ $size = getimagesize($path);
+ $this->w = $size[0];
+ $this->h = $size[1];
+
+ $ext = pathinfo($real_name, PATHINFO_EXTENSION);
+ if(!strcmp(strtolower($ext), "png")) $this->img = imagecreatefrompng($path);
+ else if(!strcmp(strtolower($ext), "bmp")) $this->img = imagecreatefrombmp($path);
+ else if(!strcmp(strtolower($ext), "jpg")) $this->img = imagecreatefromjpeg($path);
+ else if(!strcmp(strtolower($ext), "jpeg")) $this->img = imagecreatefromjpeg($path);
+ else {
+ echo("$ext is a not supported image type. use png, jpg, jpeg or bmp");
+ exit(1);
+ }
+
+ $this->r_earr = array(); /*Classification error for next row of pixels*/
+ $this->g_earr = array();
+ $this->b_earr = array();
+
+ if($this->dith) {
+ for($i = 0; $i < $this->w + 2; ++$i){
+ $this->r_earr[$i] = 0;
+ $this->g_earr[$i] = 0;
+ $this->b_earr[$i] = 0;
+ }
+ }
+
+ $this->r_nerr = 0; /*Classification error for next pixel*/
+ $this->g_nerr = 0;
+ $this->b_nerr = 0;
+ }
+
+ function convert($cf, $alpha = 0) {
+ $this->cf = $cf;
+ $this->d_out = array();
+ $this->alpha = $alpha;
+
+ if($this->cf == self::CF_RAW || $this->cf == self::CF_RAW_ALPHA || $this->cf == self::CF_RAW_CHROMA) {
+ $myfile = fopen($this->path, "r") or die("Unable to open file!");
+ $this->d_out = unpack('C*', fread($myfile, filesize($this->path)));
+ fclose($myfile);
+ return;
+ }
+
+ $palette_size = 0;
+ if($this->cf == self::CF_INDEXED_1_BIT) $palette_size = 2;
+ if($this->cf == self::CF_INDEXED_2_BIT) $palette_size = 4;
+ if($this->cf == self::CF_INDEXED_4_BIT) $palette_size = 16;
+ if($this->cf == self::CF_INDEXED_8_BIT) $palette_size = 256;
+
+ if($palette_size) {
+ $img_tmp = imagecreatetruecolor($this->w, $this->h);
+ imagecopy ($img_tmp, $this->img, 0 , 0 , 0 , 0, $this->w , $this->h);
+ imagetruecolortopalette($this->img, false, $palette_size);
+ $real_palette_size = imagecolorstotal($this->img); /*The real number of colos in the image's palette*/
+ for($i = 0; $i < $palette_size; $i++) {
+ if($i < $real_palette_size) {
+ $c = imagecolorsforindex ($this->img , $i);
+ array_push($this->d_out, $c['blue'], $c['green'], $c['red'], 0xFF);
+ } else {
+ array_push($this->d_out, 0xFF, 0xFF, 0xFF, 0xFF);
+ }
+ }
+ }
+
+ /*Convert all the pixels*/
+ for($y = 0; $y < $this->h; $y++) {
+ $this->dith_reset();
+
+ for($x = 0; $x < $this->w; ++$x){
+ $this->conv_px($x, $y);
+ }
+ }
+
+ /*Revert the original image if it was converted to indexed*/
+ if($palette_size) {
+ imagecopy ($this->img, $img_tmp, 0 , 0 , 0 , 0 , $this->w , $this->h);
+ }
+ }
+
+ function format_to_c_array() {
+
+ $c_array = "";
+ $i = 0;
+ $y_end = $this->h;
+ $x_end = $this->w;
+
+ if($this->cf == self::CF_TRUE_COLOR_332) {
+ $c_array .= "\n#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8";
+ if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 2 bit, Green: 3 bit, Red: 3 bit*/";
+ else $c_array .= "\n /*Pixel format: Blue: 2 bit, Green: 3 bit, Red: 3 bit, Alpha 8 bit */";
+ } else if($this->cf == self::CF_TRUE_COLOR_565) {
+ $c_array .= "\n#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0";
+ if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 5 bit, Green: 6 bit, Red: 5 bit*/";
+ else $c_array .= "\n /*Pixel format: Blue: 5 bit, Green: 6 bit, Red: 5 bit, Alpha 8 bit*/";
+ } else if($this->cf == self::CF_TRUE_COLOR_565_SWAP) {
+ $c_array .= "\n#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0";
+ if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 5 bit, Green: 6 bit, Red: 5 bit BUT the 2 bytes are swapped*/";
+ else $c_array .= "\n /*Pixel format: Blue: 5 bit Green: 6 bit, Red: 5 bit, Alpha 8 bit BUT the 2 color bytes are swapped*/";
+ } else if($this->cf == self::CF_TRUE_COLOR_888) {
+ $c_array .= "\n#if LV_COLOR_DEPTH == 32";
+ if(!$this->alpha) $c_array .= "\n /*Pixel format: Blue: 8 bit, Green: 8 bit, Red: 8 bit, Fix 0xFF: 8 bit, */";
+ else $c_array .= "\n /*Pixel format: Blue: 8 bit, Green: 8 bit, Red: 8 bit, Alpha: 8 bit*/";
+ } else if($this->cf == self::CF_INDEXED_1_BIT) {
+ $c_array .= "\n";
+ for($p = 0; $p < 2; $p ++) {
+ $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "\t/*Color of index $p*/\n";
+ }
+
+ $i = $p * 4;
+ }
+ else if($this->cf == self::CF_INDEXED_2_BIT) {
+ $c_array .= "\n";
+ for($p = 0; $p < 4; $p ++) {
+ $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "\t/*Color of index $p*/\n";
+ }
+
+ $i = $p * 4;
+ }
+ else if($this->cf == self::CF_INDEXED_4_BIT) {
+ $c_array .= "\n";
+ for($p = 0; $p < 16; $p ++) {
+ $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "\t/*Color of index $p*/\n";
+ }
+
+ $i = $p * 4;
+ }
+ else if($this->cf == self::CF_INDEXED_8_BIT) {
+ $c_array .= "\n";
+ for($p = 0; $p < 256; $p ++) {
+ $c_array .= " 0x" . str_pad(dechex($this->d_out[$p * 4 + 0]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 1]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 2]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$p * 4 + 3]), 2, '0', STR_PAD_LEFT) . ", ";
+ $c_array .= "\t/*Color of index $p*/\n";
+ }
+
+ $i = $p * 4;
+ }
+ else if($this->cf == self::CF_RAW || $this->cf == self::CF_RAW_ALPHA || $this->cf == self::CF_RAW_CHROMA) {
+ $y_end = 1;
+ $x_end = count($this->d_out);
+ $i = 1;
+ }
+
+
+ for($y = 0; $y < $y_end; $y++) {
+ $c_array .= "\n ";
+ for($x = 0; $x < $x_end; $x++) {
+ if($this->cf == self::CF_TRUE_COLOR_332) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ if($this->alpha) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ $i++;
+ }
+ }
+ else if($this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ if($this->alpha) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ $i++;
+ }
+ }
+ else if($this->cf == self::CF_TRUE_COLOR_888) {
+
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", "; $i++;
+ }
+ else if($this->cf == self::CF_ALPHA_1_BIT || $this->cf == self::CF_INDEXED_1_BIT) {
+ if(($x & 0x7) == 0) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ $i++;
+ }
+ }
+ else if($this->cf == self::CF_ALPHA_2_BIT || $this->cf == self::CF_INDEXED_2_BIT) {
+ if(($x & 0x3) == 0) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ $i++;
+ }
+ }
+ else if($this->cf == self::CF_ALPHA_4_BIT || $this->cf == self::CF_INDEXED_4_BIT) {
+ if(($x & 0x1) == 0) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ $i++;
+ }
+ }
+ else if($this->cf == self::CF_ALPHA_8_BIT || $this->cf == self::CF_INDEXED_8_BIT) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ $i++;
+ }
+ else if($this->cf == self::CF_RAW || $this->cf == self::CF_RAW_ALPHA || $this->cf == self::CF_RAW_CHROMA) {
+ $c_array .= "0x" . str_pad(dechex($this->d_out[$i]), 2, '0', STR_PAD_LEFT) . ", ";
+ if($i != 0 && (($i % 16) == 0)) $c_array .= "\n ";
+ $i++;
+ }
+ }
+ }
+
+ if($this->cf == self::CF_TRUE_COLOR_332 || $this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP || $this->cf == self::CF_TRUE_COLOR_888) {
+ $c_array .= "\n#endif";
+ }
+
+ return $c_array;
+
+ }
+
+ function get_c_header() {
+ $c_header ="#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include \"lvgl.h\"
+#else
+#include \"../lvgl/lvgl.h\"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+";
+ $attr_name = "LV_ATTRIBUTE_IMG_" . strtoupper($this->out_name);
+ $c_header .=
+"#ifndef $attr_name
+#define $attr_name
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST $attr_name uint8_t " . $this->out_name . "_map[] = {";
+
+ return $c_header;
+ }
+
+ function get_c_footer($cf) {
+ $c_footer =
+ "\n};\n
+const lv_img_dsc_t " . $this->out_name . " = {
+ .header.always_zero = 0,
+ .header.w = " . $this->w . ",
+ .header.h = " . $this->h . ",\n";
+
+ if($cf == self::CF_TRUE_COLOR) $c_footer .= " .data_size = " . $this->w * $this->h . " * LV_COLOR_SIZE / 8,\n .header.cf = LV_IMG_CF_TRUE_COLOR,";
+ else if($cf == self::CF_TRUE_COLOR_ALPHA) $c_footer .= " .data_size = " . $this->w * $this->h . " * LV_IMG_PX_SIZE_ALPHA_BYTE,\n .header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,";
+ else if($cf == self::CF_TRUE_COLOR_CHROMA) $c_footer .= " .data_size = " . $this->w * $this->h . " * LV_COLOR_SIZE / 8,\n .header.cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED,";
+ else if($cf == self::CF_ALPHA_1_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_1BIT,";
+ else if($cf == self::CF_ALPHA_2_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_2BIT,";
+ else if($cf == self::CF_ALPHA_4_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_4BIT,";
+ else if($cf == self::CF_ALPHA_8_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_ALPHA_8BIT,";
+ else if($cf == self::CF_INDEXED_1_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_1BIT,";
+ else if($cf == self::CF_INDEXED_2_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_2BIT,";
+ else if($cf == self::CF_INDEXED_4_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_4BIT,";
+ else if($cf == self::CF_INDEXED_8_BIT) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_INDEXED_8BIT,";
+ else if($cf == self::CF_RAW) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_RAW,";
+ else if($cf == self::CF_RAW_ALPHA) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_RAW_ALPHA,";
+ else if($cf == self::CF_RAW_CHROMA) $c_footer .= " .data_size = " . count($this->d_out) . ",\n .header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,";
+
+ $c_footer .= "\n .data = " . $this->out_name . "_map,
+};\n";
+
+ return $c_footer;
+ }
+
+ function download_c($name, $cf = -1, $content = ""){
+ global $offline;
+
+ if(strlen($content) < 1) {
+ $content = $this->format_to_c_array();
+ }
+
+ if($cf < 0) $cf = $this->cf;
+
+ $out = $this->get_c_header() . $content . "" . $this->get_c_footer($cf);
+ $name = $name . ".c";
+
+ if($offline){
+ $file = fopen($name, "w");
+ fwrite($file, $out);
+ fclose($file);
+ }
+ else{
+ header('Content-Type: application/text');
+ header('Content-disposition: attachment; filename='.$name);
+ header('Content-Length: ' . strlen($out));
+
+ echo($out);
+
+ }
+ }
+
+
+ function download_bin($name, $cf = -1, $content = 0){
+ global $offline;
+
+ if($content == 0) {
+ $content = $this->d_out;
+ }
+
+ if($cf < 0) $cf = $this->cf;
+ $name .= ".bin";
+
+ $lv_cf = 4; /*Color format in LittlevGL*/
+ switch($cf) {
+ case self::CF_TRUE_COLOR:
+ $lv_cf = 4; break;
+ case self::CF_TRUE_COLOR_ALPHA:
+ $lv_cf = 5; break;
+ case self::CF_TRUE_COLOR_CHROMA:
+ $lv_cf = 6; break;
+ case self::CF_INDEXED_1_BIT:
+ $lv_cf = 7; break;
+ case self::CF_INDEXED_2_BIT:
+ $lv_cf = 8; break;
+ case self::CF_INDEXED_4_BIT:
+ $lv_cf = 9; break;
+ case self::CF_INDEXED_8_BIT:
+ $lv_cf = 10; break;
+ case self::CF_ALPHA_1_BIT:
+ $lv_cf = 11; break;
+ case self::CF_ALPHA_2_BIT:
+ $lv_cf = 12; break;
+ case self::CF_ALPHA_4_BIT:
+ $lv_cf = 13; break;
+ case self::CF_ALPHA_8_BIT:
+ $lv_cf = 14; break;
+ }
+
+
+ $header = $lv_cf + ($this->w << 10) + ($this->h << 21);
+ $header_bin = pack("V", $header);
+
+ $content = pack("C*", ...$content);
+
+ if($offline){
+ $file = fopen($name, "w");
+ fwrite($file, $header_bin);
+ fwrite($file, $content);
+ fclose($file);
+ }
+ else{
+ $len = strlen($content) + 4;
+ header('Content-Type: application/text');
+ header('Content-disposition: attachment; filename='.$name);
+ header('Content-Length:' . $len);
+ echo($header_bin[0]);
+ echo($header_bin[1]);
+ echo($header_bin[2]);
+ echo($header_bin[3]);
+ echo($content);
+
+
+ }
+ }
+
+ private function conv_px($x, $y) {
+ $c = imagecolorat($this->img, $x, $y);
+ if($this->alpha){
+ $a = ($c & 0xff000000) >> 23; /*Alpha is 7 bit*/
+ if($a & 0x02) $a |= 0x01; /*Repeate the last bit: 0000000 -> 00000000; 1111110 -> 11111111*/
+ $a = 255 - $a;
+ } else {
+ $a = 0xff;
+ }
+ $r = ($c & 0x00ff0000) >> 16;
+ $g = ($c & 0x0000ff00) >> 8;
+ $b = ($c & 0x000000ff) >> 0;
+
+ $this->dith_next($r, $g, $b, $x);
+
+ if($this->cf == self::CF_TRUE_COLOR_332) {
+ $c8 = ($this->r_act) | ($this->g_act >> 3) | ($this->b_act >> 6); //RGB332
+ array_push($this->d_out, $c8);
+ if($this->alpha) array_push($this->d_out, $a);
+ } else if($this->cf == self::CF_TRUE_COLOR_565) {
+ $c16 = (($this->r_act) << 8) | (($this->g_act) << 3) | (($this->b_act) >> 3); //RGR565
+ array_push($this->d_out, $c16 & 0xFF);
+ array_push($this->d_out, ($c16 >> 8) & 0xFF);
+ if($this->alpha) array_push($this->d_out, $a);
+ } else if($this->cf == self::CF_TRUE_COLOR_565_SWAP) {
+ $c16 = (($this->r_act) << 8) | (($this->g_act) << 3) | (($this->b_act) >> 3); //RGR565
+ array_push($this->d_out, ($c16 >> 8) & 0xFF);
+ array_push($this->d_out, $c16 & 0xFF);
+ if($this->alpha) array_push($this->d_out, $a);
+ } else if($this->cf == self::CF_TRUE_COLOR_888) {
+ array_push($this->d_out, $this->b_act);
+ array_push($this->d_out, $this->g_act);
+ array_push($this->d_out, $this->r_act);
+ array_push($this->d_out, $a);
+ } else if($this->cf == self::CF_ALPHA_1_BIT) {
+ $w = $this->w >> 3;
+ if($this->w & 0x07) $w++;
+ $p = $w * $y + ($x >> 3);
+ if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/
+ if($a > 0x80) {
+ $this->d_out[$p] |= 1 << (7 - ($x & 0x7));
+ }
+ }
+ else if($this->cf == self::CF_ALPHA_2_BIT) {
+ $w = $this->w >> 2;
+ if($this->w & 0x03) $w++;
+
+ $p = $w * $y + ($x >> 2);
+ if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/
+ $this->d_out[$p] |= ($a >> 6) << (6 - (($x & 0x3) * 2));
+ }
+ else if($this->cf == self::CF_ALPHA_4_BIT) {
+ $w = $this->w >> 1;
+ if($this->w & 0x01) $w++;
+
+ $p = $w * $y + ($x >> 1);
+ if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/
+ $this->d_out[$p] |= ($a >> 4) << (4 - (($x & 0x1) * 4));
+ }
+ else if($this->cf == self::CF_ALPHA_8_BIT) {
+ $p = $this->w * $y + $x;
+ $this->d_out[$p] = $a;
+ }
+ else if($this->cf == self::CF_INDEXED_1_BIT) {
+ $w = $this->w >> 3;
+ if($this->w & 0x07) $w++;
+
+ $p = $w * $y + ($x >> 3) + 8; /* +8 for the palette*/
+ if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/
+ $this->d_out[$p] |= ($c & 0x1) << (7 - ($x & 0x7));
+ }
+ else if($this->cf == self::CF_INDEXED_2_BIT) {
+ $w = $this->w >> 2;
+ if($this->w & 0x03) $w++;
+
+ $p = $w * $y + ($x >> 2) + 16; /* +16 for the palette*/
+ if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/
+ $this->d_out[$p] |= ($c & 0x3) << (6 - (($x & 0x3) * 2));
+ }
+ else if($this->cf == self::CF_INDEXED_4_BIT) {
+ $w = $this->w >> 1;
+ if($this->w & 0x01) $w++;
+
+ $p = $w * $y + ($x >> 1) + 64; /* +64 for the palette*/
+ if(!isset($this->d_out[$p])) $this->d_out[$p] = 0; /*Clear the bits first*/
+ $this->d_out[$p] |= ($c & 0xF) << (4 - (($x & 0x1) * 4));
+ }
+ else if($this->cf == self::CF_INDEXED_8_BIT) {
+ $p = $this->w * $y + $x + 1024; /* +1024 for the palette*/
+ $this->d_out[$p] = $c & 0xFF;
+ }
+ }
+
+ private function dith_reset() {
+ if($this->dith){
+ $this->r_nerr = 0;
+ $this->g_nerr = 0;
+ $this->b_nerr = 0;
+ }
+ }
+
+ private function dith_next($r, $g, $b, $x) {
+
+ if($this->dith){
+ $this->r_act = $r + $this->r_nerr + $this->r_earr[$x+1];
+ $this->r_earr[$x+1] = 0;
+
+ $this->g_act = $g + $this->g_nerr + $this->g_earr[$x+1];
+ $this->g_earr[$x+1] = 0;
+
+ $this->b_act = $b + $this->b_nerr + $this->b_earr[$x+1];
+ $this->b_earr[$x+1] = 0;
+
+ if($this->cf == self::CF_TRUE_COLOR_332) {
+ $this->r_act = $this->classify_pixel($this->r_act, 3);
+ $this->g_act = $this->classify_pixel($this->g_act, 3);
+ $this->b_act = $this->classify_pixel($this->b_act, 2);
+
+ if($this->r_act > 0xE0) $this->r_act = 0xE0;
+ if($this->g_act > 0xE0) $this->g_act = 0xE0;
+ if($this->b_act > 0xC0) $this->b_act = 0xC0;
+
+ } else if($this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP) {
+ $this->r_act = $this->classify_pixel($this->r_act, 5);
+ $this->g_act = $this->classify_pixel($this->g_act, 6);
+ $this->b_act = $this->classify_pixel($this->b_act, 5);
+
+ if($this->r_act > 0xF8) $this->r_act = 0xF8;
+ if($this->g_act > 0xFC) $this->g_act = 0xFC;
+ if($this->b_act > 0xF8) $this->b_act = 0xF8;
+
+ } else if($this->cf == self::CF_TRUE_COLOR_888) {
+ $this->r_act = $this->classify_pixel($this->r_act, 8);
+ $this->g_act = $this->classify_pixel($this->g_act, 8);
+ $this->b_act = $this->classify_pixel($this->b_act, 8);
+
+ if($this->r_act > 0xFF) $this->r_act = 0xFF;
+ if($this->g_act > 0xFF) $this->g_act = 0xFF;
+ if($this->b_act > 0xFF) $this->b_act = 0xFF;
+ }
+
+ $this->r_err = $r - $this->r_act;
+ $this->g_err = $g - $this->g_act;
+ $this->b_err = $b - $this->b_act;
+
+ $this->r_nerr = round((7 * $this->r_err) / 16);
+ $this->g_nerr = round((7 * $this->g_err) / 16);
+ $this->b_nerr = round((7 * $this->b_err) / 16);
+
+ $this->r_earr[$x] += round((3 * $this->r_err) / 16);
+ $this->g_earr[$x] += round((3 * $this->g_err) / 16);
+ $this->b_earr[$x] += round((3 * $this->b_err) / 16);
+
+ $this->r_earr[$x+1] += round((5 * $this->r_err) / 16);
+ $this->g_earr[$x+1] += round((5 * $this->g_err) / 16);
+ $this->b_earr[$x+1] += round((5 * $this->b_err) / 16);
+
+ $this->r_earr[$x+2] += round($this->r_err / 16);
+ $this->g_earr[$x+2] += round($this->g_err / 16);
+ $this->b_earr[$x+2] += round($this->b_err / 16);
+ }
+ else{
+ if($this->cf == self::CF_TRUE_COLOR_332) {
+ $this->r_act = $this->classify_pixel($r, 3);
+ $this->g_act = $this->classify_pixel($g, 3);
+ $this->b_act = $this->classify_pixel($b, 2);
+
+ if($this->r_act > 0xE0) $this->r_act = 0xE0;
+ if($this->g_act > 0xE0) $this->g_act = 0xE0;
+ if($this->b_act > 0xC0) $this->b_act = 0xC0;
+
+ } else if($this->cf == self::CF_TRUE_COLOR_565 || $this->cf == self::CF_TRUE_COLOR_565_SWAP) {
+ $this->r_act = $this->classify_pixel($r, 5);
+ $this->g_act = $this->classify_pixel($g, 6);
+ $this->b_act = $this->classify_pixel($b, 5);
+
+ if($this->r_act > 0xF8) $this->r_act = 0xF8;
+ if($this->g_act > 0xFC) $this->g_act = 0xFC;
+ if($this->b_act > 0xF8) $this->b_act = 0xF8;
+
+ } else if($this->cf == self::CF_TRUE_COLOR_888) {
+ $this->r_act = $this->classify_pixel($r, 8);
+ $this->g_act = $this->classify_pixel($g, 8);
+ $this->b_act = $this->classify_pixel($b, 8);
+
+ if($this->r_act > 0xFF) $this->r_act = 0xFF;
+ if($this->g_act > 0xFF) $this->g_act = 0xFF;
+ if($this->b_act > 0xFF) $this->b_act = 0xFF;
+ }
+ }
+ }
+
+ private function classify_pixel($value, $bits){
+ $tmp = 1 << (8 - $bits);
+ $val = round($value / $tmp, 0, PHP_ROUND_HALF_DOWN) * $tmp;
+ if($val < 0) $val = 0;
+ return $val;
+ }
+}
+
+$offline = 0;
+if (!isset($_SERVER["HTTP_HOST"])) {
+ parse_str($argv[1], $_POST);
+ $offline = 1;
+}
+
+
+if($offline == 0){
+ /*The scripts runs ONLINE (likely on littelvgl.com)*/
+ header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
+ header("Cache-Control: post-check=0, pre-check=0", false);
+ header("Pragma: no-cache");
+
+ $img_file = $_FILES["img_file"]["tmp_name"];
+ $img_file_name = $_FILES["img_file"]["name"];
+ $output_name = $_POST["name"];
+ $cf = $_POST["cf"];
+ $format = $_POST["format"];
+ $dith = $_POST["dith"];
+}
+else{
+ /*The scripts runs OFFLINE (likely in command)*/
+ if(isset($_POST["name"])){
+ $output_name = $_POST["name"];
+ }
+ else{
+ echo("Mising Name\n");
+ exit(0);
+ }
+
+ if(isset($_POST["img"])){
+ $img_file = $_POST["img"];
+ $img_file_name = $_POST["img"];
+ }
+ else{
+ echo("Mising image file\n");
+ exit(0);
+ }
+
+ if(isset($_POST["format"])){
+ $format = $_POST["format"];
+ }
+ else{
+ $format = "c_array";
+ }
+
+ if(isset($_POST["dith"])){
+ $dith = $_POST["dith"];
+ }
+ else {
+ $dith = 0;
+ }
+
+ if(isset($_POST["cf"])){
+ $cf = $_POST["cf"];
+ }
+ else {
+ $cf = "true_color";
+ }
+}
+
+$conv = new Converter($img_file, $img_file_name, $output_name, $dith, $cf);
+
+if(!strcmp($format, "c_array")) {
+ if(!strcmp($cf, "true_color") || !strcmp($cf, "true_color_alpha") || !strcmp($cf, "true_color_chroma")) {
+ $alpha = 0;
+ if(!strcmp($cf, "true_color_alpha")) $alpha = 1;
+
+ $conv->convert($conv::CF_TRUE_COLOR_332, $alpha);
+ $c_332 = $conv->format_to_c_array();
+
+ $conv->convert($conv::CF_TRUE_COLOR_565, $alpha);
+ $c_565 = $conv->format_to_c_array();
+
+ $conv->convert($conv::CF_TRUE_COLOR_565_SWAP, $alpha);
+ $c_565_swap = $conv->format_to_c_array();
+
+ $conv->convert($conv::CF_TRUE_COLOR_888, $alpha);
+ $c_888 = $conv->format_to_c_array();
+
+ $c_res = $c_332 . $c_565 . $c_565_swap . $c_888;
+
+ if(!strcmp($cf, "true_color")) $conv->download_c($conv->out_name, $conv::CF_TRUE_COLOR, $c_res);
+ if(!strcmp($cf, "true_color_alpha")) $conv->download_c($conv->out_name, $conv::CF_TRUE_COLOR_ALPHA, $c_res);
+ if(!strcmp($cf, "true_color_chroma")) $conv->download_c($conv->out_name, $conv::CF_TRUE_COLOR_CHROMA, $c_res);
+ }
+ else if(!strcmp($cf, "alpha_1")) {
+ $conv->convert($conv::CF_ALPHA_1_BIT, 1);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "alpha_2")) {
+ $conv->convert($conv::CF_ALPHA_2_BIT, 1);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "alpha_4")) {
+ $conv->convert($conv::CF_ALPHA_4_BIT, 1);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "alpha_8")) {
+ $conv->convert($conv::CF_ALPHA_8_BIT, 1);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_1")) {
+ $conv->convert($conv::CF_INDEXED_1_BIT);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_2")) {
+ $conv->convert($conv::CF_INDEXED_2_BIT);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_4")) {
+ $conv->convert($conv::CF_INDEXED_4_BIT);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_8")) {
+ $conv->convert($conv::CF_INDEXED_8_BIT);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "raw")) {
+ $conv->convert($conv::CF_RAW);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "raw_alpha")) {
+ $conv->convert($conv::CF_RAW_ALPHA, 1);
+ $conv->download_c($conv->out_name);
+ }
+ else if(!strcmp($cf, "raw_chroma")) {
+ $conv->convert($conv::CF_RAW_CHROMA);
+ $conv->download_c($conv->out_name);
+ }
+}
+/*Binary download*/
+else {
+ if(!strcmp($cf, "true_color") || !strcmp($cf, "true_color_alpha") || !strcmp($cf, "true_color_chroma")) {
+ $alpha = 0;
+ if(!strcmp($cf, "true_color_alpha")) $alpha = 1;
+
+ if (!strcmp($format, "bin_332")) $conv->convert($conv::CF_TRUE_COLOR_332, $alpha);
+ else if (!strcmp($format, "bin_565")) $conv->convert($conv::CF_TRUE_COLOR_565, $alpha);
+ else if (!strcmp($format, "bin_565_swap")) $conv->convert($conv::CF_TRUE_COLOR_565_SWAP, $alpha);
+ else if (!strcmp($format, "bin_888")) $conv->convert($conv::CF_TRUE_COLOR_888, $alpha);
+ else {
+ echo("Unknown output file format: $format");
+ exit(1);
+ }
+ if(!strcmp($cf, "true_color")) $conv->download_bin($conv->out_name, $conv::CF_TRUE_COLOR);
+ if(!strcmp($cf, "true_color_alpha")) $conv->download_bin($conv->out_name, $conv::CF_TRUE_COLOR_ALPHA);
+ if(!strcmp($cf, "true_color_chroma")) $conv->download_bin($conv->out_name, $conv::CF_TRUE_COLOR_CHROMA);
+ }
+ else if(!strcmp($cf, "alpha_1")) {
+ $conv->convert($conv::CF_ALPHA_1_BIT, 1);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "alpha_2")) {
+ $conv->convert($conv::CF_ALPHA_2_BIT, 1);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "alpha_4")) {
+ $conv->convert($conv::CF_ALPHA_4_BIT, 1);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "alpha_8")) {
+ $conv->convert($conv::CF_ALPHA_8_BIT, 1);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_1")) {
+ $conv->convert($conv::CF_INDEXED_1_BIT);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_2")) {
+ $conv->convert($conv::CF_INDEXED_2_BIT);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_4")) {
+ $conv->convert($conv::CF_INDEXED_4_BIT);
+ $conv->download_bin($conv->out_name);
+ }
+ else if(!strcmp($cf, "indexed_8")) {
+ $conv->convert($conv::CF_INDEXED_8_BIT);
+ $conv->download_bin($conv->out_name);
+ }
+}
+
+
+
+
+/*
+$c_array .= "#include <stdint.h>
+ #include \"lv_conf.h\"
+ #include \"lvgl/lv_draw/lv_draw.h\""; */
+
+
+//download("test", $c_565);
+
+?>
diff --git a/src/displayapp/icons/navigation/invalid-left-white.svg b/src/displayapp/icons/navigation/invalid-left-white.svg
new file mode 100644
index 00000000..3cb455d9
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5.97986l0.011,0.00183A6.06019,6.06019,0,0,1,16,12.05493V16H15.99689l0.002,1.50317A0.49614,0.49614,0,0,1,15.50269,18H14.49622A0.49622,0.49622,0,0,1,14,17.50378V12.05493a4.05782,4.05782,0,0,0-3.98877-4.07324H8.01245a0.3576,0.3576,0,0,0-.37738.54248L8.97882,11.476a0.38659,0.38659,0,0,1-.62354.40942L2.0083,7l6.347-4.922a0.38659,0.38659,0,0,1,.62354.40942L7.63507,5.43927a0.35757,0.35757,0,0,0,.37738.54242H10"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid-left.c b/src/displayapp/icons/navigation/invalid-left.c
new file mode 100644
index 00000000..6783e5c7
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID_LEFT
+#define LV_ATTRIBUTE_IMG_INVALID_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_LEFT uint8_t invalid_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t invalid_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_left_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid-left.png b/src/displayapp/icons/navigation/invalid-left.png
new file mode 100644
index 00000000..cf9e7d1a
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/invalid-right-white.svg b/src/displayapp/icons/navigation/invalid-right-white.svg
new file mode 100644
index 00000000..98967557
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.98877,7.98169A4.05782,4.05782,0,0,0,6,12.05493v5.44885A0.49622,0.49622,0,0,1,5.50378,18H4.49731a0.49614,0.49614,0,0,1-.49615-0.49683L4.00311,16H4V12.05493A6.06019,6.06019,0,0,1,9.989,5.98169L10,5.97986V5.98169h1.98755a0.35757,0.35757,0,0,0,.37738-0.54242L11.02118,2.48743A0.38659,0.38659,0,0,1,11.64471,2.078L17.9917,7l-6.347,4.88544a0.38659,0.38659,0,0,1-.62354-0.40942l1.34375-2.95184a0.3576,0.3576,0,0,0-.37738-0.54248H9.98877Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid-right.c b/src/displayapp/icons/navigation/invalid-right.c
new file mode 100644
index 00000000..f77af8d4
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID_RIGHT
+#define LV_ATTRIBUTE_IMG_INVALID_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_RIGHT uint8_t invalid_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t invalid_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_right_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid-right.png b/src/displayapp/icons/navigation/invalid-right.png
new file mode 100644
index 00000000..8d0e5c94
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/invalid-slight-left-white.svg b/src/displayapp/icons/navigation/invalid-slight-left-white.svg
new file mode 100644
index 00000000..7ae2013c
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.9859,14.043v3.46082A0.49621,0.49621,0,0,1,14.48974,18H13.48321a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L8.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,6.58044,10.86L5,3l8.00476,0.44965a0.38658,0.38658,0,0,1,.20294.71777L10.25878,5.51758a0.3576,0.3576,0,0,0-.07019.6571l2.45746,2.07385A7.25158,7.25158,0,0,1,14.9859,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid-slight-left.c b/src/displayapp/icons/navigation/invalid-slight-left.c
new file mode 100644
index 00000000..70329db3
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_INVALID_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_SLIGHT_LEFT uint8_t invalid_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+};
+
+const lv_img_dsc_t invalid_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid-slight-left.png b/src/displayapp/icons/navigation/invalid-slight-left.png
new file mode 100644
index 00000000..a19f840a
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/invalid-slight-right-white.svg b/src/displayapp/icons/navigation/invalid-slight-right-white.svg
new file mode 100644
index 00000000..46090067
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7.35395,8.24854L9.81141,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L6.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777L15,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L11.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L8.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,6.51679,18H5.51026a0.49621,0.49621,0,0,1-.49615-0.49622V14.043A7.25157,7.25157,0,0,1,7.35395,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid-slight-right.c b/src/displayapp/icons/navigation/invalid-slight-right.c
new file mode 100644
index 00000000..fa51ed7e
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_INVALID_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_SLIGHT_RIGHT uint8_t invalid_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t invalid_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid-slight-right.png b/src/displayapp/icons/navigation/invalid-slight-right.png
new file mode 100644
index 00000000..b6ba9564
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/invalid-straight-white.svg b/src/displayapp/icons/navigation/invalid-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid-straight.c b/src/displayapp/icons/navigation/invalid-straight.c
new file mode 100644
index 00000000..f9f9b331
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID_STRAIGHT
+#define LV_ATTRIBUTE_IMG_INVALID_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_STRAIGHT uint8_t invalid_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t invalid_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid-straight.png b/src/displayapp/icons/navigation/invalid-straight.png
new file mode 100644
index 00000000..0f42d678
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/invalid-uturn-white.svg b/src/displayapp/icons/navigation/invalid-uturn-white.svg
new file mode 100644
index 00000000..b2c8a120
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-uturn-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M17.00909,8v9.49652A0.50346,0.50346,0,0,1,16.50562,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a3.5,3.5,0,1,0-7,0v4H8a0.35757,0.35757,0,0,0,.54242.37738l2.95184-1.34375a0.3866,0.3866,0,0,1,.40942.62354L7,18,2.09625,11.65717a0.3866,0.3866,0,0,1,.40942-0.62354l2.95184,1.34375A0.3576,0.3576,0,0,0,6,12H6.00909V8A5.5,5.5,0,1,1,17.00909,8Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid-uturn.c b/src/displayapp/icons/navigation/invalid-uturn.c
new file mode 100644
index 00000000..c3bf775d
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-uturn.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID_UTURN
+#define LV_ATTRIBUTE_IMG_INVALID_UTURN
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID_UTURN uint8_t invalid_uturn_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe,
+ 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x0f, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe,
+ 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe,
+ 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe,
+ 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe,
+ 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+};
+
+const lv_img_dsc_t invalid_uturn = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_uturn_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid-uturn.png b/src/displayapp/icons/navigation/invalid-uturn.png
new file mode 100644
index 00000000..6e31e8f6
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-uturn.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/invalid-white.svg b/src/displayapp/icons/navigation/invalid-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/invalid.c b/src/displayapp/icons/navigation/invalid.c
new file mode 100644
index 00000000..53fe4e30
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_INVALID
+#define LV_ATTRIBUTE_IMG_INVALID
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_INVALID uint8_t invalid_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t invalid = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+invalid_map,
+};
diff --git a/src/displayapp/icons/navigation/invalid.png b/src/displayapp/icons/navigation/invalid.png
new file mode 100644
index 00000000..f2234c20
--- /dev/null
+++ b/src/displayapp/icons/navigation/invalid.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/merge-left-white.svg b/src/displayapp/icons/navigation/merge-left-white.svg
new file mode 100644
index 00000000..8c4cd9f5
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7.8,7.2V17.50252A0.2978,0.2978,0,0,1,7.50253,17.8H6.49747A0.2978,0.2978,0,0,1,6.2,17.50252V7.2H7.8M8,7H6V17.50252A0.49747,0.49747,0,0,0,6.49747,18H7.50253A0.49747,0.49747,0,0,0,8,17.50252V7H8ZM7.98169,10V8.01245a0.3576,0.3576,0,0,1,.54248-0.37738L11.476,8.97882a0.38659,0.38659,0,0,0,.40942-0.62354L7,2.0083l-4.922,6.347a0.38659,0.38659,0,0,0,.40942.62354L5.43927,7.63507a0.35757,0.35757,0,0,1,.54242.37738V10H5.97986l0.00183,0.011A6.06019,6.06019,0,0,0,12.05493,16H16V15.99689l1.50317,0.002A0.49614,0.49614,0,0,0,18,15.50269V14.49622A0.49622,0.49622,0,0,0,17.50378,14H12.05493a4.05782,4.05782,0,0,1-4.07324-3.98877V10Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/merge-left.c b/src/displayapp/icons/navigation/merge-left.c
new file mode 100644
index 00000000..301a20fa
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_MERGE_LEFT
+#define LV_ATTRIBUTE_IMG_MERGE_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_LEFT uint8_t merge_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xe3, 0xff, 0xc7, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0x83, 0xff, 0xc1, 0xff, 0xc0, 0x00, 0x00,
+ 0xfe, 0x03, 0xff, 0xc0, 0x7f, 0xc0, 0x00, 0x00,
+ 0xf8, 0x03, 0xff, 0xc0, 0x1f, 0xc0, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xdf, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xc3, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xc0, 0x7f, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t merge_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+merge_left_map,
+};
diff --git a/src/displayapp/icons/navigation/merge-left.png b/src/displayapp/icons/navigation/merge-left.png
new file mode 100644
index 00000000..a5b6ea57
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/merge-right-white.svg b/src/displayapp/icons/navigation/merge-right-white.svg
new file mode 100644
index 00000000..f614ad7a
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M13.8,7.2V17.49921a0.30112,0.30112,0,0,1-.30078.3008H12.50079A0.30112,0.30112,0,0,1,12.2,17.49921V7.2h1.6M14,7H12V17.49921A0.50079,0.50079,0,0,0,12.50079,18h0.99841A0.50079,0.50079,0,0,0,14,17.49921V7h0Zm0.01831,3V8.01245a0.35757,0.35757,0,0,1,.54242-0.37738l2.95184,1.34375A0.38659,0.38659,0,0,0,17.922,8.35529L13,2.0083l-4.88544,6.347a0.38659,0.38659,0,0,0,.40942.62354l2.95184-1.34375a0.3576,0.3576,0,0,1,.54248.37738v1.99878A4.05782,4.05782,0,0,1,7.94507,14H2.49622A0.49622,0.49622,0,0,0,2,14.49622v1.00647a0.49614,0.49614,0,0,0,.49683.49615L4,15.99689V16H7.94507a6.06019,6.06019,0,0,0,6.07324-5.989L14.02014,10"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/merge-right.c b/src/displayapp/icons/navigation/merge-right.c
new file mode 100644
index 00000000..60639daa
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_MERGE_RIGHT
+#define LV_ATTRIBUTE_IMG_MERGE_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_RIGHT uint8_t merge_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xe3, 0xff, 0xc7, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0x83, 0xff, 0xc1, 0xff,
+ 0x00, 0x00, 0x03, 0xfe, 0x03, 0xff, 0xc0, 0x7f,
+ 0x00, 0x00, 0x03, 0xf8, 0x03, 0xff, 0xc0, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xc3, 0xe7, 0xc0, 0x00,
+ 0xff, 0xff, 0xff, 0xfe, 0x03, 0xe7, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xe7, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xe7, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xe7, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00,
+};
+
+const lv_img_dsc_t merge_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+merge_right_map,
+};
diff --git a/src/displayapp/icons/navigation/merge-right.png b/src/displayapp/icons/navigation/merge-right.png
new file mode 100644
index 00000000..74cb4343
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/merge-slight-left-white.svg b/src/displayapp/icons/navigation/merge-slight-left-white.svg
new file mode 100644
index 00000000..0152f261
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.82565,9.2v8.29515A0.3052,0.3052,0,0,1,9.52081,17.8H8.53052a0.3052,0.3052,0,0,1-.30484-0.30486V9.2h1.6m0.2-.2h-2v8.49515A0.50484,0.50484,0,0,0,8.53052,18h0.9903a0.50486,0.50486,0,0,0,.50485-0.50485V9h0ZM4.517,7.95947L7.46885,6.61572a0.35757,0.35757,0,0,1,.54242.37738h0.001V8.9585a6.60115,6.60115,0,0,0,3.38232,5.72021L15.70547,17.364a0.50277,0.50277,0,0,0,.69263-0.16089l0.52576-.84369a0.50285,0.50285,0,0,0-.16089-0.69275l-4.30485-2.6818a4.65641,4.65641,0,0,1-2.44824-3.957l0.00165-2.03607a0.35723,0.35723,0,0,1,.54224-0.376l2.95184,1.34375A0.38659,0.38659,0,0,0,13.915,7.33594L9.01127,0.9931,4.10758,7.33594A0.38659,0.38659,0,0,0,4.517,7.95947Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/merge-slight-left.c b/src/displayapp/icons/navigation/merge-slight-left.c
new file mode 100644
index 00000000..0c5f0dcb
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_MERGE_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_MERGE_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_SLIGHT_LEFT uint8_t merge_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0xff, 0xf7, 0xff, 0xbf, 0xff, 0x00, 0x00,
+ 0x00, 0xff, 0xc7, 0xff, 0x8f, 0xff, 0x00, 0x00,
+ 0x00, 0xff, 0x07, 0xff, 0x83, 0xff, 0x00, 0x00,
+ 0x00, 0xf8, 0x07, 0xff, 0x80, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x07, 0xcf, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x07, 0xcf, 0xbf, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x8f, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x87, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x83, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x80, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x80, 0x3f, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x80, 0x1f, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xcf, 0x80, 0x07, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x01, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0xff, 0x80,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x3f, 0x00,
+};
+
+const lv_img_dsc_t merge_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+merge_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/merge-slight-left.png b/src/displayapp/icons/navigation/merge-slight-left.png
new file mode 100644
index 00000000..2b6eebc6
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/merge-slight-right-white.svg b/src/displayapp/icons/navigation/merge-slight-right-white.svg
new file mode 100644
index 00000000..16f15fcb
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M11.79221,9.2v8.29515a0.3052,0.3052,0,0,1-.30484.30486h-0.9903a0.3052,0.3052,0,0,1-.30484-0.30486V9.2h1.6m0.2-.2h-2v8.49515A0.50484,0.50484,0,0,0,10.49707,18h0.9903a0.50486,0.50486,0,0,0,.50485-0.50485V9h0Zm3.91806-1.66406L11.00659,0.9931,6.10284,7.33594a0.38659,0.38659,0,0,0,.40942.62354L9.46411,6.61572a0.35723,0.35723,0,0,1,.54224.376L10.008,9.02783a4.65641,4.65641,0,0,1-2.44824,3.957L3.2549,15.66667a0.50285,0.50285,0,0,0-.16089.69275L3.61977,17.2031a0.50277,0.50277,0,0,0,.69263.16089l4.31083-2.68528A6.60115,6.60115,0,0,0,12.00555,8.9585V6.9931h0.001A0.35757,0.35757,0,0,1,12.549,6.61572l2.95184,1.34375A0.38659,0.38659,0,0,0,15.91028,7.33594Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/merge-slight-right.c b/src/displayapp/icons/navigation/merge-slight-right.c
new file mode 100644
index 00000000..9e5a25e8
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_MERGE_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_MERGE_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_SLIGHT_RIGHT uint8_t merge_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xfe, 0xff, 0xf7, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xfc, 0xff, 0xf1, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xe0, 0xff, 0xf0, 0x7f, 0x80,
+ 0x00, 0x00, 0x3f, 0x80, 0xff, 0xf0, 0x1f, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xfd, 0xf0, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfe, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xf0, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xe0, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0x80, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xfe, 0x00, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xfc, 0x00, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xf0, 0x00, 0xf9, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xe0, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0x80, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x7e, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+};
+
+const lv_img_dsc_t merge_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+merge_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/merge-slight-right.png b/src/displayapp/icons/navigation/merge-slight-right.png
new file mode 100644
index 00000000..388b5cea
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/merge-straight-white.svg b/src/displayapp/icons/navigation/merge-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/merge-straight.c b/src/displayapp/icons/navigation/merge-straight.c
new file mode 100644
index 00000000..82a13814
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_MERGE_STRAIGHT
+#define LV_ATTRIBUTE_IMG_MERGE_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MERGE_STRAIGHT uint8_t merge_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t merge_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+merge_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/merge-straight.png b/src/displayapp/icons/navigation/merge-straight.png
new file mode 100644
index 00000000..e86ce174
--- /dev/null
+++ b/src/displayapp/icons/navigation/merge-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new b/src/displayapp/icons/navigation/new
new file mode 100644
index 00000000..7e1cd6c7
--- /dev/null
+++ b/src/displayapp/icons/navigation/new
@@ -0,0 +1,8 @@
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
diff --git a/src/displayapp/icons/navigation/new-name-left-white.svg b/src/displayapp/icons/navigation/new-name-left-white.svg
new file mode 100644
index 00000000..3cb455d9
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5.97986l0.011,0.00183A6.06019,6.06019,0,0,1,16,12.05493V16H15.99689l0.002,1.50317A0.49614,0.49614,0,0,1,15.50269,18H14.49622A0.49622,0.49622,0,0,1,14,17.50378V12.05493a4.05782,4.05782,0,0,0-3.98877-4.07324H8.01245a0.3576,0.3576,0,0,0-.37738.54248L8.97882,11.476a0.38659,0.38659,0,0,1-.62354.40942L2.0083,7l6.347-4.922a0.38659,0.38659,0,0,1,.62354.40942L7.63507,5.43927a0.35757,0.35757,0,0,0,.37738.54242H10"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-left.c b/src/displayapp/icons/navigation/new-name-left.c
new file mode 100644
index 00000000..99d65aac
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_LEFT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_LEFT uint8_t new_name_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t new_name_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_left_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-left.png b/src/displayapp/icons/navigation/new-name-left.png
new file mode 100644
index 00000000..8fcc7385
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new-name-right-white.svg b/src/displayapp/icons/navigation/new-name-right-white.svg
new file mode 100644
index 00000000..98967557
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.98877,7.98169A4.05782,4.05782,0,0,0,6,12.05493v5.44885A0.49622,0.49622,0,0,1,5.50378,18H4.49731a0.49614,0.49614,0,0,1-.49615-0.49683L4.00311,16H4V12.05493A6.06019,6.06019,0,0,1,9.989,5.98169L10,5.97986V5.98169h1.98755a0.35757,0.35757,0,0,0,.37738-0.54242L11.02118,2.48743A0.38659,0.38659,0,0,1,11.64471,2.078L17.9917,7l-6.347,4.88544a0.38659,0.38659,0,0,1-.62354-0.40942l1.34375-2.95184a0.3576,0.3576,0,0,0-.37738-0.54248H9.98877Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-right.c b/src/displayapp/icons/navigation/new-name-right.c
new file mode 100644
index 00000000..066c0aa0
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_RIGHT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_RIGHT uint8_t new_name_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t new_name_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_right_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-right.png b/src/displayapp/icons/navigation/new-name-right.png
new file mode 100644
index 00000000..115171ce
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new-name-sharp-left-white.svg b/src/displayapp/icons/navigation/new-name-sharp-left-white.svg
new file mode 100644
index 00000000..043963b7
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-sharp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15.49771,18a0.49779,0.49779,0,0,1-.49779-0.49779V5.00391l-0.27979-.00635a2.56758,2.56758,0,0,0-2.0957.79L7.22917,10.40041a0.34918,0.34918,0,0,0,.08252.63177l2.92877,1.39331a0.38658,0.38658,0,0,1-.21344.71472l-8.0105.33209,1.69568-7.836a0.38661,0.38661,0,0,1,.74072-0.0882l0.8725,3.12372a0.35757,0.35757,0,0,0,.638.17206L5.9672,8.84835,11.3593,4.23926A4.46634,4.46634,0,0,1,14.74406,2.998L15.00822,3a1.92935,1.92935,0,0,1,1.43408.56885,2.10247,2.10247,0,0,1,.55713,1.46045L16.9999,17.50219A0.49779,0.49779,0,0,1,16.50211,18h-1.0044Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-sharp-left.c b/src/displayapp/icons/navigation/new-name-sharp-left.c
new file mode 100644
index 00000000..d372c940
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-sharp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_LEFT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_LEFT uint8_t new_name_sharp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff,
+ 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff,
+ 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff,
+ 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff,
+ 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff,
+ 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff,
+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+};
+
+const lv_img_dsc_t new_name_sharp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_sharp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-sharp-left.png b/src/displayapp/icons/navigation/new-name-sharp-left.png
new file mode 100644
index 00000000..42ab6434
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-sharp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new-name-sharp-right-white.svg b/src/displayapp/icons/navigation/new-name-sharp-right-white.svg
new file mode 100644
index 00000000..4ffe0f95
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-sharp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3.49789,18a0.49779,0.49779,0,0,1-.49779-0.49781L3.00057,5.0293A2.10247,2.10247,0,0,1,3.5577,3.56885,1.92935,1.92935,0,0,1,4.99178,3l0.26416-.002A4.46634,4.46634,0,0,1,8.6407,4.23926L14.0328,8.84835l0.00378-.00446a0.35757,0.35757,0,0,0,.638-0.17206l0.8725-3.12372a0.38661,0.38661,0,0,1,.74072.0882l1.69568,7.836L9.973,13.14022a0.38658,0.38658,0,0,1-.21344-0.71472l2.92877-1.39331a0.34918,0.34918,0,0,0,.08252-0.63177L7.37557,5.7876a2.56758,2.56758,0,0,0-2.0957-.79l-0.27979.00635v12.4983A0.49779,0.49779,0,0,1,4.50229,18H3.49789Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-sharp-right.c b/src/displayapp/icons/navigation/new-name-sharp-right.c
new file mode 100644
index 00000000..640ada62
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-sharp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_RIGHT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SHARP_RIGHT uint8_t new_name_sharp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0,
+ 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t new_name_sharp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_sharp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-sharp-right.png b/src/displayapp/icons/navigation/new-name-sharp-right.png
new file mode 100644
index 00000000..0905ba6e
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-sharp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new-name-slight-left-white.svg b/src/displayapp/icons/navigation/new-name-slight-left-white.svg
new file mode 100644
index 00000000..7ae2013c
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.9859,14.043v3.46082A0.49621,0.49621,0,0,1,14.48974,18H13.48321a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L8.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,6.58044,10.86L5,3l8.00476,0.44965a0.38658,0.38658,0,0,1,.20294.71777L10.25878,5.51758a0.3576,0.3576,0,0,0-.07019.6571l2.45746,2.07385A7.25158,7.25158,0,0,1,14.9859,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-slight-left.c b/src/displayapp/icons/navigation/new-name-slight-left.c
new file mode 100644
index 00000000..b49f19c9
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_LEFT uint8_t new_name_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+};
+
+const lv_img_dsc_t new_name_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-slight-left.png b/src/displayapp/icons/navigation/new-name-slight-left.png
new file mode 100644
index 00000000..5b66903d
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new-name-slight-right-white.svg b/src/displayapp/icons/navigation/new-name-slight-right-white.svg
new file mode 100644
index 00000000..46090067
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7.35395,8.24854L9.81141,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L6.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777L15,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L11.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L8.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,6.51679,18H5.51026a0.49621,0.49621,0,0,1-.49615-0.49622V14.043A7.25157,7.25157,0,0,1,7.35395,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-slight-right.c b/src/displayapp/icons/navigation/new-name-slight-right.c
new file mode 100644
index 00000000..992f8451
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_SLIGHT_RIGHT uint8_t new_name_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t new_name_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-slight-right.png b/src/displayapp/icons/navigation/new-name-slight-right.png
new file mode 100644
index 00000000..f62b3739
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/new-name-straight-white.svg b/src/displayapp/icons/navigation/new-name-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/new-name-straight.c b/src/displayapp/icons/navigation/new-name-straight.c
new file mode 100644
index 00000000..3d58ce2f
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NEW_NAME_STRAIGHT
+#define LV_ATTRIBUTE_IMG_NEW_NAME_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NEW_NAME_STRAIGHT uint8_t new_name_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t new_name_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+new_name_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/new-name-straight.png b/src/displayapp/icons/navigation/new-name-straight.png
new file mode 100644
index 00000000..5082f3fc
--- /dev/null
+++ b/src/displayapp/icons/navigation/new-name-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-left-white.svg b/src/displayapp/icons/navigation/notification-left-white.svg
new file mode 100644
index 00000000..3cb455d9
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5.97986l0.011,0.00183A6.06019,6.06019,0,0,1,16,12.05493V16H15.99689l0.002,1.50317A0.49614,0.49614,0,0,1,15.50269,18H14.49622A0.49622,0.49622,0,0,1,14,17.50378V12.05493a4.05782,4.05782,0,0,0-3.98877-4.07324H8.01245a0.3576,0.3576,0,0,0-.37738.54248L8.97882,11.476a0.38659,0.38659,0,0,1-.62354.40942L2.0083,7l6.347-4.922a0.38659,0.38659,0,0,1,.62354.40942L7.63507,5.43927a0.35757,0.35757,0,0,0,.37738.54242H10"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-left.c b/src/displayapp/icons/navigation/notification-left.c
new file mode 100644
index 00000000..4e394626
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_LEFT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_LEFT uint8_t notification_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t notification_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_left_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-left.png b/src/displayapp/icons/navigation/notification-left.png
new file mode 100644
index 00000000..e90ef9d7
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-right-white.svg b/src/displayapp/icons/navigation/notification-right-white.svg
new file mode 100644
index 00000000..98967557
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.98877,7.98169A4.05782,4.05782,0,0,0,6,12.05493v5.44885A0.49622,0.49622,0,0,1,5.50378,18H4.49731a0.49614,0.49614,0,0,1-.49615-0.49683L4.00311,16H4V12.05493A6.06019,6.06019,0,0,1,9.989,5.98169L10,5.97986V5.98169h1.98755a0.35757,0.35757,0,0,0,.37738-0.54242L11.02118,2.48743A0.38659,0.38659,0,0,1,11.64471,2.078L17.9917,7l-6.347,4.88544a0.38659,0.38659,0,0,1-.62354-0.40942l1.34375-2.95184a0.3576,0.3576,0,0,0-.37738-0.54248H9.98877Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-right.c b/src/displayapp/icons/navigation/notification-right.c
new file mode 100644
index 00000000..76891fd9
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_RIGHT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_RIGHT uint8_t notification_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t notification_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_right_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-right.png b/src/displayapp/icons/navigation/notification-right.png
new file mode 100644
index 00000000..bc71624c
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-sharp-left-white.svg b/src/displayapp/icons/navigation/notification-sharp-left-white.svg
new file mode 100644
index 00000000..838e9d02
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-sharp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15.49771,17.99542a0.49779,0.49779,0,0,1-.49779-0.49779V4.99933L14.72014,4.993a2.56758,2.56758,0,0,0-2.0957.79L7.22917,10.39583a0.34918,0.34918,0,0,0,.08252.63177l2.92877,1.39331a0.38658,0.38658,0,0,1-.21344.71472l-8.0105.33209,1.69568-7.836a0.38661,0.38661,0,0,1,.74072-0.0882l0.8725,3.12372a0.35757,0.35757,0,0,0,.638.17206L5.9672,8.84377,11.3593,4.23468a4.46634,4.46634,0,0,1,3.38477-1.24121l0.26416,0.002a1.92935,1.92935,0,0,1,1.43408.56885,2.10247,2.10247,0,0,1,.55713,1.46045L16.9999,17.49761a0.49779,0.49779,0,0,1-.49779.49781h-1.0044Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-sharp-left.c b/src/displayapp/icons/navigation/notification-sharp-left.c
new file mode 100644
index 00000000..2d2bedc0
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-sharp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_LEFT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_LEFT uint8_t notification_sharp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff,
+ 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff,
+ 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff,
+ 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff,
+ 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff,
+ 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+};
+
+const lv_img_dsc_t notification_sharp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_sharp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-sharp-left.png b/src/displayapp/icons/navigation/notification-sharp-left.png
new file mode 100644
index 00000000..8f9f55ba
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-sharp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-sharp-right-white.svg b/src/displayapp/icons/navigation/notification-sharp-right-white.svg
new file mode 100644
index 00000000..44542f52
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-sharp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3.49789,17.99542a0.49779,0.49779,0,0,1-.49779-0.49781L3.00057,5.02472A2.10247,2.10247,0,0,1,3.5577,3.56427a1.92935,1.92935,0,0,1,1.43408-.56885l0.26416-.002A4.46634,4.46634,0,0,1,8.6407,4.23468L14.0328,8.84377l0.00378-.00446a0.35757,0.35757,0,0,0,.638-0.17206l0.8725-3.12372a0.38661,0.38661,0,0,1,.74072.0882l1.69568,7.836L9.973,13.13564a0.38658,0.38658,0,0,1-.21344-0.71472l2.92877-1.39331a0.34918,0.34918,0,0,0,.08252-0.63177L7.37557,5.783a2.56758,2.56758,0,0,0-2.0957-.79l-0.27979.00635v12.4983a0.49779,0.49779,0,0,1-.49779.49779H3.49789Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-sharp-right.c b/src/displayapp/icons/navigation/notification-sharp-right.c
new file mode 100644
index 00000000..3d56f0ec
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-sharp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_RIGHT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SHARP_RIGHT uint8_t notification_sharp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0,
+ 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t notification_sharp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_sharp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-sharp-right.png b/src/displayapp/icons/navigation/notification-sharp-right.png
new file mode 100644
index 00000000..f0fcc0c1
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-sharp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-slight-left-white.svg b/src/displayapp/icons/navigation/notification-slight-left-white.svg
new file mode 100644
index 00000000..7ae2013c
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.9859,14.043v3.46082A0.49621,0.49621,0,0,1,14.48974,18H13.48321a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L8.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,6.58044,10.86L5,3l8.00476,0.44965a0.38658,0.38658,0,0,1,.20294.71777L10.25878,5.51758a0.3576,0.3576,0,0,0-.07019.6571l2.45746,2.07385A7.25158,7.25158,0,0,1,14.9859,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-slight-left.c b/src/displayapp/icons/navigation/notification-slight-left.c
new file mode 100644
index 00000000..8aae05fc
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_LEFT uint8_t notification_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+};
+
+const lv_img_dsc_t notification_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-slight-left.png b/src/displayapp/icons/navigation/notification-slight-left.png
new file mode 100644
index 00000000..6db73071
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-slight-right-white.svg b/src/displayapp/icons/navigation/notification-slight-right-white.svg
new file mode 100644
index 00000000..46090067
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7.35395,8.24854L9.81141,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L6.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777L15,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L11.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L8.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,6.51679,18H5.51026a0.49621,0.49621,0,0,1-.49615-0.49622V14.043A7.25157,7.25157,0,0,1,7.35395,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-slight-right.c b/src/displayapp/icons/navigation/notification-slight-right.c
new file mode 100644
index 00000000..ed3221cc
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_SLIGHT_RIGHT uint8_t notification_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t notification_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-slight-right.png b/src/displayapp/icons/navigation/notification-slight-right.png
new file mode 100644
index 00000000..68706ad4
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/notification-straight-white.svg b/src/displayapp/icons/navigation/notification-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/notification-straight.c b/src/displayapp/icons/navigation/notification-straight.c
new file mode 100644
index 00000000..6e33fc38
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_NOTIFICATION_STRAIGHT
+#define LV_ATTRIBUTE_IMG_NOTIFICATION_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_NOTIFICATION_STRAIGHT uint8_t notification_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t notification_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+notification_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/notification-straight.png b/src/displayapp/icons/navigation/notification-straight.png
new file mode 100644
index 00000000..b6c9f7df
--- /dev/null
+++ b/src/displayapp/icons/navigation/notification-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/off-ramp-left-white.svg b/src/displayapp/icons/navigation/off-ramp-left-white.svg
new file mode 100644
index 00000000..486a1808
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.5029,2.2A0.29744,0.29744,0,0,1,14.8,2.49712V17.50288A0.29744,0.29744,0,0,1,14.5029,17.8H13.4971A0.29744,0.29744,0,0,1,13.2,17.50288V2.49712A0.29744,0.29744,0,0,1,13.4971,2.2h1.0058m0-.2H13.4971A0.49711,0.49711,0,0,0,13,2.49712V17.50288A0.49711,0.49711,0,0,0,13.4971,18h1.0058A0.49711,0.49711,0,0,0,15,17.50288V2.49712A0.49711,0.49711,0,0,0,14.5029,2h0ZM9.00078,5.98169H7.01323a0.35757,0.35757,0,0,1-.37738-0.54242L7.9796,2.48743A0.38659,0.38659,0,0,0,7.35606,2.078L1.00908,7l6.347,4.88544A0.38659,0.38659,0,0,0,7.9796,11.476L6.63585,8.52417a0.3576,0.3576,0,0,1,.37738-0.54248H9.012a4.05782,4.05782,0,0,1,3.98877,4.07324v5.44885A0.49622,0.49622,0,0,0,13.497,18h1.00647a0.49614,0.49614,0,0,0,.49615-0.49683L14.99766,16h0.00311V12.05493a6.06019,6.06019,0,0,0-5.989-6.07324l-0.011-.00183"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/off-ramp-left.c b/src/displayapp/icons/navigation/off-ramp-left.c
new file mode 100644
index 00000000..d1db227d
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_LEFT
+#define LV_ATTRIBUTE_IMG_OFF_RAMP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_LEFT uint8_t off_ramp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x3e, 0x70,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x3e, 0x70,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x3e, 0x70,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x3e, 0x70,
+ 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x3e, 0x70,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x3e, 0x70,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x3e, 0x70,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x3e, 0x70,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x3e, 0x70,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x3e, 0x70,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3e, 0x70,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3e, 0x70,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3e, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t off_ramp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+off_ramp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/off-ramp-left.png b/src/displayapp/icons/navigation/off-ramp-left.png
new file mode 100644
index 00000000..33060b7e
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/off-ramp-right-white.svg b/src/displayapp/icons/navigation/off-ramp-right-white.svg
new file mode 100644
index 00000000..177dda42
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M6.5029,2.2A0.29744,0.29744,0,0,1,6.8,2.49712V17.50288A0.29744,0.29744,0,0,1,6.5029,17.8H5.4971A0.29744,0.29744,0,0,1,5.2,17.50288V2.49712A0.29744,0.29744,0,0,1,5.4971,2.2H6.5029m0-.2H5.4971A0.49711,0.49711,0,0,0,5,2.49712V17.50288A0.49711,0.49711,0,0,0,5.4971,18H6.5029A0.49711,0.49711,0,0,0,7,17.50288V2.49712A0.49711,0.49711,0,0,0,6.5029,2h0Zm4.5054,5.98169h1.98755a0.3576,0.3576,0,0,1,.37738.54248L12.02948,11.476a0.38659,0.38659,0,0,0,.62354.40942L19,7,12.653,2.078a0.38659,0.38659,0,0,0-.62354.40942l1.34375,2.95184a0.35757,0.35757,0,0,1-.37738.54242H11.0083V5.97986l-0.011.00183a6.06019,6.06019,0,0,0-5.989,6.07324V16H5.01141l-0.002,1.50317A0.49614,0.49614,0,0,0,5.50562,18H6.51208a0.49622,0.49622,0,0,0,.49622-0.49622V12.05493a4.05782,4.05782,0,0,1,3.98877-4.07324H11.0083Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/off-ramp-right.c b/src/displayapp/icons/navigation/off-ramp-right.c
new file mode 100644
index 00000000..5b8bbd46
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_RIGHT
+#define LV_ATTRIBUTE_IMG_OFF_RAMP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_RIGHT uint8_t off_ramp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00,
+ 0x0e, 0x7c, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x0e, 0x7c, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x0e, 0x7c, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0e, 0x7c, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0e, 0x7c, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00,
+ 0x0e, 0x7c, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x0e, 0x7c, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00,
+ 0x0e, 0x7c, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x0e, 0x7c, 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0e, 0x7c, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0e, 0x7c, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x0e, 0x7c, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x0e, 0x7c, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x0e, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x0f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t off_ramp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+off_ramp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/off-ramp-right.png b/src/displayapp/icons/navigation/off-ramp-right.png
new file mode 100644
index 00000000..fd55170e
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/off-ramp-slight-left-white.svg b/src/displayapp/icons/navigation/off-ramp-slight-left-white.svg
new file mode 100644
index 00000000..4bdb72d5
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.5029,2.2A0.29744,0.29744,0,0,1,14.8,2.49712V17.50288A0.29744,0.29744,0,0,1,14.5029,17.8H13.4971A0.29744,0.29744,0,0,1,13.2,17.50288V2.49712A0.29744,0.29744,0,0,1,13.4971,2.2h1.0058m0-.2H13.4971A0.49711,0.49711,0,0,0,13,2.49712V17.50288A0.49711,0.49711,0,0,0,13.4971,18h1.0058A0.49711,0.49711,0,0,0,15,17.50288V2.49712A0.49711,0.49711,0,0,0,14.5029,2h0ZM12.64606,8.24854L10.1886,6.17468a0.3576,0.3576,0,0,1,.07019-0.6571L13.2077,4.16742a0.38658,0.38658,0,0,0-.20294-0.71777L5,3l1.58044,7.86a0.38663,0.38663,0,0,0,.73938.09912L8.238,7.84851a0.35758,0.35758,0,0,1,.6405-0.16266l2.44818,2.06561a5.21819,5.21819,0,0,1,1.665,4.144l-0.0047,3.60767A0.49614,0.49614,0,0,0,13.48322,18h1.00653a0.49621,0.49621,0,0,0,.49615-0.49622V14.043A7.25157,7.25157,0,0,0,12.64606,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/off-ramp-slight-left.c b/src/displayapp/icons/navigation/off-ramp-slight-left.c
new file mode 100644
index 00000000..9eed9891
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_LEFT uint8_t off_ramp_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x3e, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xbe, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfe, 0x3e, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x3e, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x3e, 0x70, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x3e, 0x70, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xfe, 0x3e, 0x70, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0x3e, 0x70, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xbe, 0x70, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00,
+ 0x00, 0x03, 0xff, 0xef, 0xff, 0xff, 0x70, 0x00,
+ 0x00, 0x01, 0xff, 0xc7, 0xff, 0xff, 0x70, 0x00,
+ 0x00, 0x01, 0xff, 0xc3, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0xc1, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0xc0, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x1f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x0f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x07, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x03, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x03, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7e, 0x00, 0x01, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7e, 0x00, 0x01, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+};
+
+const lv_img_dsc_t off_ramp_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+off_ramp_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/off-ramp-slight-left.png b/src/displayapp/icons/navigation/off-ramp-slight-left.png
new file mode 100644
index 00000000..dfc42be0
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/off-ramp-slight-right-white.svg b/src/displayapp/icons/navigation/off-ramp-slight-right-white.svg
new file mode 100644
index 00000000..d13f60ec
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M8.5029,2.2A0.29744,0.29744,0,0,1,8.8,2.49712V17.50288A0.29744,0.29744,0,0,1,8.5029,17.8H7.4971A0.29744,0.29744,0,0,1,7.2,17.50288V2.49712A0.29744,0.29744,0,0,1,7.4971,2.2H8.5029m0-.2H7.4971A0.49711,0.49711,0,0,0,7,2.49712V17.50288A0.49711,0.49711,0,0,0,7.4971,18H8.5029A0.49711,0.49711,0,0,0,9,17.50288V2.49712A0.49711,0.49711,0,0,0,8.5029,2h0ZM7.0141,14.043v3.46082A0.49621,0.49621,0,0,0,7.51025,18H8.51678a0.49614,0.49614,0,0,0,.49615-0.49683l-0.0047-3.60767a5.21819,5.21819,0,0,1,1.665-4.144l2.44818-2.06561a0.35758,0.35758,0,0,1,.6405.16266l0.91821,3.1106A0.38663,0.38663,0,0,0,15.41956,10.86L17,3l-8.00476.44965a0.38658,0.38658,0,0,0-.20294.71777l2.94891,1.35016a0.3576,0.3576,0,0,1,.07019.6571L9.35394,8.24854A7.25157,7.25157,0,0,0,7.0141,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/off-ramp-slight-right.c b/src/displayapp/icons/navigation/off-ramp-slight-right.c
new file mode 100644
index 00000000..5b9fd182
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_OFF_RAMP_SLIGHT_RIGHT uint8_t off_ramp_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x3f, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7c, 0x7f, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7d, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7c, 0x3f, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7c, 0x0f, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7c, 0x1f, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7c, 0x3f, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0e, 0x7c, 0x7f, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0e, 0x7c, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0e, 0x7d, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x0e, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x0e, 0xff, 0xff, 0xf7, 0xff, 0xc0, 0x00,
+ 0x00, 0x0e, 0xff, 0xff, 0xe3, 0xff, 0x80, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xc3, 0xff, 0x80, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0x83, 0xff, 0x80, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0x03, 0xff, 0x80, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x01, 0xff, 0x80, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xe0, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xc0, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xc0, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0x80, 0x00, 0x7e, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0x80, 0x00, 0x7e, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t off_ramp_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+off_ramp_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/off-ramp-slight-right.png b/src/displayapp/icons/navigation/off-ramp-slight-right.png
new file mode 100644
index 00000000..ffb8a763
--- /dev/null
+++ b/src/displayapp/icons/navigation/off-ramp-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-left-white.svg b/src/displayapp/icons/navigation/on-ramp-left-white.svg
new file mode 100644
index 00000000..cdb2bba0
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.00078,5.97986l0.011,0.00183a6.06019,6.06019,0,0,1,5.989,6.07324V16H14.99766l0.002,1.50317A0.49614,0.49614,0,0,1,14.50346,18H13.497a0.49622,0.49622,0,0,1-.49622-0.49622V12.05493A4.05782,4.05782,0,0,0,9.012,7.98169H7.01323a0.3576,0.3576,0,0,0-.37738.54248L7.9796,11.476a0.38659,0.38659,0,0,1-.62354.40942L1.00908,7l6.347-4.922a0.38659,0.38659,0,0,1,.62354.40942L6.63585,5.43927a0.35757,0.35757,0,0,0,.37738.54242H9.00078"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-left.c b/src/displayapp/icons/navigation/on-ramp-left.c
new file mode 100644
index 00000000..3bdabf2d
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_LEFT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_LEFT uint8_t on_ramp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xe0,
+ 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t on_ramp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-left.png b/src/displayapp/icons/navigation/on-ramp-left.png
new file mode 100644
index 00000000..9319037f
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-right-white.svg b/src/displayapp/icons/navigation/on-ramp-right-white.svg
new file mode 100644
index 00000000..a2707320
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10.99707,7.98169A4.05782,4.05782,0,0,0,7.0083,12.05493v5.44885A0.49622,0.49622,0,0,1,6.51208,18H5.50562a0.49614,0.49614,0,0,1-.49615-0.49683L5.01141,16H5.0083V12.05493a6.06019,6.06019,0,0,1,5.989-6.07324l0.011-.00183V5.98169h1.98755a0.35757,0.35757,0,0,0,.37738-0.54242L12.02948,2.48743A0.38659,0.38659,0,0,1,12.653,2.078L19,7l-6.347,4.88544a0.38659,0.38659,0,0,1-.62354-0.40942l1.34375-2.95184a0.3576,0.3576,0,0,0-.37738-0.54248H10.99707Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-right.c b/src/displayapp/icons/navigation/on-ramp-right.c
new file mode 100644
index 00000000..94398d41
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_RIGHT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_RIGHT uint8_t on_ramp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x07, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t on_ramp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-right.png b/src/displayapp/icons/navigation/on-ramp-right.png
new file mode 100644
index 00000000..db711996
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg b/src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg
new file mode 100644
index 00000000..043963b7
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-sharp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15.49771,18a0.49779,0.49779,0,0,1-.49779-0.49779V5.00391l-0.27979-.00635a2.56758,2.56758,0,0,0-2.0957.79L7.22917,10.40041a0.34918,0.34918,0,0,0,.08252.63177l2.92877,1.39331a0.38658,0.38658,0,0,1-.21344.71472l-8.0105.33209,1.69568-7.836a0.38661,0.38661,0,0,1,.74072-0.0882l0.8725,3.12372a0.35757,0.35757,0,0,0,.638.17206L5.9672,8.84835,11.3593,4.23926A4.46634,4.46634,0,0,1,14.74406,2.998L15.00822,3a1.92935,1.92935,0,0,1,1.43408.56885,2.10247,2.10247,0,0,1,.55713,1.46045L16.9999,17.50219A0.49779,0.49779,0,0,1,16.50211,18h-1.0044Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-left.c b/src/displayapp/icons/navigation/on-ramp-sharp-left.c
new file mode 100644
index 00000000..a3672655
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-sharp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_LEFT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_LEFT uint8_t on_ramp_sharp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff,
+ 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff,
+ 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff,
+ 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff,
+ 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff,
+ 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff,
+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+};
+
+const lv_img_dsc_t on_ramp_sharp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_sharp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-left.png b/src/displayapp/icons/navigation/on-ramp-sharp-left.png
new file mode 100644
index 00000000..188a17a1
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-sharp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg b/src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg
new file mode 100644
index 00000000..44542f52
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-sharp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3.49789,17.99542a0.49779,0.49779,0,0,1-.49779-0.49781L3.00057,5.02472A2.10247,2.10247,0,0,1,3.5577,3.56427a1.92935,1.92935,0,0,1,1.43408-.56885l0.26416-.002A4.46634,4.46634,0,0,1,8.6407,4.23468L14.0328,8.84377l0.00378-.00446a0.35757,0.35757,0,0,0,.638-0.17206l0.8725-3.12372a0.38661,0.38661,0,0,1,.74072.0882l1.69568,7.836L9.973,13.13564a0.38658,0.38658,0,0,1-.21344-0.71472l2.92877-1.39331a0.34918,0.34918,0,0,0,.08252-0.63177L7.37557,5.783a2.56758,2.56758,0,0,0-2.0957-.79l-0.27979.00635v12.4983a0.49779,0.49779,0,0,1-.49779.49779H3.49789Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-right.c b/src/displayapp/icons/navigation/on-ramp-sharp-right.c
new file mode 100644
index 00000000..33fa9d79
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-sharp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_RIGHT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SHARP_RIGHT uint8_t on_ramp_sharp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0,
+ 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t on_ramp_sharp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_sharp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-sharp-right.png b/src/displayapp/icons/navigation/on-ramp-sharp-right.png
new file mode 100644
index 00000000..4c32f963
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-sharp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-slight-left-white.svg b/src/displayapp/icons/navigation/on-ramp-slight-left-white.svg
new file mode 100644
index 00000000..f15e5aa0
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M12.9859,14.043v3.46082A0.49621,0.49621,0,0,1,12.48975,18H11.48322a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L6.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,4.58044,10.86L3,3l8.00476,0.44965a0.38658,0.38658,0,0,1,.20294.71777L8.25879,5.51758a0.3576,0.3576,0,0,0-.07019.6571l2.45746,2.07385A7.25157,7.25157,0,0,1,12.9859,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-slight-left.c b/src/displayapp/icons/navigation/on-ramp-slight-left.c
new file mode 100644
index 00000000..c3300310
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_LEFT uint8_t on_ramp_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+};
+
+const lv_img_dsc_t on_ramp_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-slight-left.png b/src/displayapp/icons/navigation/on-ramp-slight-left.png
new file mode 100644
index 00000000..344df2f7
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-slight-right-white.svg b/src/displayapp/icons/navigation/on-ramp-slight-right-white.svg
new file mode 100644
index 00000000..6d48848e
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.35394,8.24854L11.8114,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L8.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777L17,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L13.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L10.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,8.51678,18H7.51025a0.49621,0.49621,0,0,1-.49615-0.49622V14.043A7.25157,7.25157,0,0,1,9.35394,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-slight-right.c b/src/displayapp/icons/navigation/on-ramp-slight-right.c
new file mode 100644
index 00000000..b0746de7
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_SLIGHT_RIGHT uint8_t on_ramp_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t on_ramp_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-slight-right.png b/src/displayapp/icons/navigation/on-ramp-slight-right.png
new file mode 100644
index 00000000..bd7d2f8d
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/on-ramp-straight-white.svg b/src/displayapp/icons/navigation/on-ramp-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/on-ramp-straight.c b/src/displayapp/icons/navigation/on-ramp-straight.c
new file mode 100644
index 00000000..d8359f25
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ON_RAMP_STRAIGHT
+#define LV_ATTRIBUTE_IMG_ON_RAMP_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ON_RAMP_STRAIGHT uint8_t on_ramp_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t on_ramp_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+on_ramp_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/on-ramp-straight.png b/src/displayapp/icons/navigation/on-ramp-straight.png
new file mode 100644
index 00000000..9d33a96c
--- /dev/null
+++ b/src/displayapp/icons/navigation/on-ramp-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-left-white.svg b/src/displayapp/icons/navigation/rotary-left-white.svg
new file mode 100644
index 00000000..d6e044f0
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M13,6.2A3.8,3.8,0,1,1,9.2,10,3.80428,3.80428,0,0,1,13,6.2m0,7A3.2,3.2,0,1,0,9.8,10,3.20362,3.20362,0,0,0,13,13.2M13,6a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.82861-5.82812a4.0315,4.0315,0,0,0-.542-0.45459,4.078,4.078,0,0,0-5.11475.4541A3.96842,3.96842,0,0,0,9.03076,9.5H5a0.17879,0.17879,0,0,1-.18866-0.27124L5.48322,7.75287a0.1933,0.1933,0,0,0-.31177-0.20471L2,10l3.17145,2.45184a0.1933,0.1933,0,0,0,.31177-0.20471L4.81134,10.77124A0.17879,0.17879,0,0,1,5,10.5h5V10a2.98063,2.98063,0,0,1,.87891-2.12158,3.06088,3.06088,0,0,1,3.83545-.34082,3.02248,3.02248,0,0,1,.40723.34131A2.99976,2.99976,0,0,1,13,13H12.5v4h1V13.96924A4.00038,4.00038,0,0,0,15.82861,7.17188Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-left.c b/src/displayapp/icons/navigation/rotary-left.c
new file mode 100644
index 00000000..c54c5d3d
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_LEFT
+#define LV_ATTRIBUTE_IMG_ROTARY_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_LEFT uint8_t rotary_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff,
+ 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff,
+ 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff,
+ 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff,
+ 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff,
+ 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff,
+ 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff,
+ 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff,
+ 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff,
+ 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff,
+ 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff,
+ 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff,
+ 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t rotary_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_left_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-left.png b/src/displayapp/icons/navigation/rotary-left.png
new file mode 100644
index 00000000..2531b5cf
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-right-white.svg b/src/displayapp/icons/navigation/rotary-right-white.svg
new file mode 100644
index 00000000..1389b1ce
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7,6.2A3.8,3.8,0,1,1,3.2,10,3.80428,3.80428,0,0,1,7,6.2m0,7A3.2,3.2,0,1,0,3.8,10,3.20362,3.20362,0,0,0,7,13.2M7,6a4,4,0,1,0,4,4A4.00458,4.00458,0,0,0,7,6H7Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3H7Zm7.83777-5.45184a0.1933,0.1933,0,0,0-.31177.20471l0.67188,1.47589A0.17881,0.17881,0,0,1,15.00916,9.5H10V10a2.99994,2.99994,0,0,1-3,3H6.5v4h1V13.96924A4.0032,4.0032,0,0,0,10.96924,10.5h4.03992a0.17881,0.17881,0,0,1,.18872.27124L14.526,12.24713a0.1933,0.1933,0,0,0,.31177.20471L18.00916,10Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-right.c b/src/displayapp/icons/navigation/rotary-right.c
new file mode 100644
index 00000000..15f95425
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_RIGHT
+#define LV_ATTRIBUTE_IMG_ROTARY_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_RIGHT uint8_t rotary_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00,
+ 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00,
+ 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80,
+ 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0,
+ 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0,
+ 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8,
+ 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc,
+ 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc,
+ 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8,
+ 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0,
+ 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0,
+ 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80,
+ 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t rotary_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_right_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-right.png b/src/displayapp/icons/navigation/rotary-right.png
new file mode 100644
index 00000000..eb19d987
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-sharp-left-white.svg b/src/displayapp/icons/navigation/rotary-sharp-left-white.svg
new file mode 100644
index 00000000..bf04ccfd
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-sharp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10.994,5.2A3.8,3.8,0,1,1,7.194,9a3.80428,3.80428,0,0,1,3.8-3.8m0,7A3.2,3.2,0,1,0,7.794,9a3.20362,3.20362,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.8291-5.82812a4.03583,4.03583,0,0,0-.54248-0.45459,4.07906,4.07906,0,0,0-5.11475.4541,4.00058,4.00058,0,0,0-.33252,5.28076L4.76758,14.51792a0.17873,0.17873,0,0,1-.325-0.05847L3.874,12.94071a0.19332,0.19332,0,0,0-.36523.07568L3,16.99265l3.97626-.50879a0.19332,0.19332,0,0,0,.07568-0.36523L5.5332,15.55008a0.17879,0.17879,0,0,1-.05835-0.3252l-0.00037-.00037,3.40378-3.40567,0.33838-.353-0.34521-.34619A2.9995,2.9995,0,0,1,8.8729,6.87842a3.06063,3.06063,0,0,1,3.83545-.34082,3.02673,3.02673,0,0,1,.40771.34131A3,3,0,0,1,10.994,12h-0.5v4h1V12.96924A4.00076,4.00076,0,0,0,13.82309,6.17188Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-sharp-left.c b/src/displayapp/icons/navigation/rotary-sharp-left.c
new file mode 100644
index 00000000..c1d49213
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-sharp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_SHARP_LEFT
+#define LV_ATTRIBUTE_IMG_ROTARY_SHARP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SHARP_LEFT uint8_t rotary_sharp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x7f, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff,
+ 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff,
+ 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0xff, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfc,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x7e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x7e, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x7f, 0x03, 0xff, 0xf8, 0xff, 0xff, 0xf8, 0x00,
+ 0x7f, 0x07, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x00,
+ 0xff, 0x8f, 0xff, 0xe0, 0x03, 0xff, 0x00, 0x00,
+ 0xff, 0x9f, 0xff, 0xc0, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xbf, 0xff, 0x80, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xfe, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xf8, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xe0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xc0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0x80, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t rotary_sharp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_sharp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-sharp-left.png b/src/displayapp/icons/navigation/rotary-sharp-left.png
new file mode 100644
index 00000000..974fb1f0
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-sharp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-sharp-right-white.svg b/src/displayapp/icons/navigation/rotary-sharp-right-white.svg
new file mode 100644
index 00000000..e48b71be
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-sharp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M8.97217,5.2a3.8,3.8,0,1,1-3.8,3.8,3.8043,3.8043,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2,3.20361,3.20361,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm7.491,1.02374a0.19328,0.19328,0,0,0-.36517-0.07568L15.52948,14.4668a0.17883,0.17883,0,0,1-.32526.05835l-0.00018.00018-3.75726-3.75726-0.35352.35352A2.98022,2.98022,0,0,1,8.97217,12h-0.5v4h1V12.96924a3.95621,3.95621,0,0,0,1.95264-.80859l3.07312,3.07275a0.17841,0.17841,0,0,1-.05914.324L12.9201,16.126a0.1933,0.1933,0,0,0,.07568.36523L16.972,17Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-sharp-right.c b/src/displayapp/icons/navigation/rotary-sharp-right.c
new file mode 100644
index 00000000..d0d05ca6
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-sharp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_SHARP_RIGHT
+#define LV_ATTRIBUTE_IMG_ROTARY_SHARP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SHARP_RIGHT uint8_t rotary_sharp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x7f, 0xfe, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xfc, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xf0, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xf0, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00,
+ 0x7f, 0xff, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00,
+ 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7e,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7e,
+ 0x00, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xc0, 0xfe,
+ 0x00, 0x07, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0xfe,
+ 0x00, 0x00, 0xff, 0xc0, 0x0f, 0xff, 0xf1, 0xfe,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xf9, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xfd, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x03, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff,
+};
+
+const lv_img_dsc_t rotary_sharp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_sharp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-sharp-right.png b/src/displayapp/icons/navigation/rotary-sharp-right.png
new file mode 100644
index 00000000..20839129
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-sharp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-slight-left-white.svg b/src/displayapp/icons/navigation/rotary-slight-left-white.svg
new file mode 100644
index 00000000..f482aecb
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10.97473,7.2a3.8,3.8,0,1,1-3.8,3.8,3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2,3.20362,3.20362,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.82861-5.82812a4.0315,4.0315,0,0,0-.542-0.45459,4.07671,4.07671,0,0,0-4.73975.12256l-3.04816-3.045A0.17774,0.17774,0,0,1,5.53412,4.473L7.0528,3.90442a0.1933,0.1933,0,0,0-.07568-0.36523L3.00085,3.0304,3.5097,7.00665a0.19328,0.19328,0,0,0,.36517.07568L4.44342,5.5636a0.17879,0.17879,0,0,1,.3252-0.05835L4.7688,5.50507,8.50061,9.23193l0.353-.35352a3.05971,3.05971,0,0,1,3.83545-.34082,3.02248,3.02248,0,0,1,.40723.34131A2.99976,2.99976,0,0,1,10.97473,14h-0.5v4h1V14.96924A4.00038,4.00038,0,0,0,13.80334,8.17188Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-slight-left.c b/src/displayapp/icons/navigation/rotary-slight-left.c
new file mode 100644
index 00000000..b285b43c
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_LEFT uint8_t rotary_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xfd, 0xff, 0xf8, 0x07, 0xf8, 0x00, 0x00,
+ 0x01, 0xfc, 0xff, 0xfc, 0x7f, 0xff, 0x80, 0x00,
+ 0x01, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x01, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x01, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0x0f, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0xff, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x7f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x7f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0x07, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+};
+
+const lv_img_dsc_t rotary_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-slight-left.png b/src/displayapp/icons/navigation/rotary-slight-left.png
new file mode 100644
index 00000000..0493f21a
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-slight-right-white.svg b/src/displayapp/icons/navigation/rotary-slight-right-white.svg
new file mode 100644
index 00000000..a11f8cbd
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M8.97128,7.2a3.8,3.8,0,1,1-3.8,3.8,3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2,3.20362,3.20362,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0ZM13.05247,3.45127a0.19328,0.19328,0,0,0-.07568.36517l1.51874,0.5686a0.17878,0.17878,0,0,1,.05835.3252l0.00006,0.00006L10.73885,8.52539l0.35352,0.35352A2.99976,2.99976,0,0,1,8.97127,14h-0.5v3.97917h1V14.96924a4.00123,4.00123,0,0,0,2.66016-6.42236L15.261,5.41734a0.17878,0.17878,0,0,1,.3252.05835L16.1547,6.99443a0.19332,0.19332,0,0,0,.36523-0.07574l0.50879-3.9762Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-slight-right.c b/src/displayapp/icons/navigation/rotary-slight-right.c
new file mode 100644
index 00000000..46e19cfe
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_SLIGHT_RIGHT uint8_t rotary_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x0f, 0xf0, 0x0f, 0xff, 0xdf, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0x1f, 0xff, 0x9f, 0xc0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xc0,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xc0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x0f, 0x80,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00,
+ 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00,
+ 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x01, 0xff, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00,
+ 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t rotary_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-slight-right.png b/src/displayapp/icons/navigation/rotary-slight-right.png
new file mode 100644
index 00000000..ae5dc247
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-straight-white.svg b/src/displayapp/icons/navigation/rotary-straight-white.svg
new file mode 100644
index 00000000..0bd80b54
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,8.2A3.8,3.8,0,1,1,6.2,12,3.80428,3.80428,0,0,1,10,8.2m0,7A3.2,3.2,0,1,0,6.8,12,3.20362,3.20362,0,0,0,10,15.2M10,8a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.83057-5.82666A3.97135,3.97135,0,0,0,10.5,8.03076V5.00415a0.17881,0.17881,0,0,1,.27124-0.18872L12.24713,5.4873a0.19329,0.19329,0,0,0,.20471-0.31177L10,2.00415,7.54816,5.17554a0.1933,0.1933,0,0,0,.20471.31177l1.476-.67187A0.17879,0.17879,0,0,1,9.5,5.00415V9H10a3,3,0,1,1,0,6H9.5v3h1V15.96924A4.00076,4.00076,0,0,0,12.83057,9.17334Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary-straight.c b/src/displayapp/icons/navigation/rotary-straight.c
new file mode 100644
index 00000000..52e98489
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY_STRAIGHT
+#define LV_ATTRIBUTE_IMG_ROTARY_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY_STRAIGHT uint8_t rotary_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xcf, 0xf3, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t rotary_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary-straight.png b/src/displayapp/icons/navigation/rotary-straight.png
new file mode 100644
index 00000000..35728c8a
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/rotary-white.svg b/src/displayapp/icons/navigation/rotary-white.svg
new file mode 100644
index 00000000..759109ae
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M5.5,10.002a0.17879,0.17879,0,0,0,.27124.18866l1.47589-.67187a0.1933,0.1933,0,0,1,.20471.31177L5,13.002,2.54816,9.83051a0.1933,0.1933,0,0,1,.20471-0.31177l1.476,0.67187A0.17876,0.17876,0,0,0,4.5,10.002V10A5.51888,5.51888,0,0,1,7.25293,5.23438l0.5,0.86523A4.51856,4.51856,0,0,0,5.5,10v0.002Zm6.75146-3.89941A4.51948,4.51948,0,0,1,14.5,10h1a5.5223,5.5223,0,0,0-2.74756-4.7627L12.751,5.23724A0.17878,0.17878,0,0,1,12.72321,4.908L14.043,3.96576a0.19332,0.19332,0,0,0-.16766-0.33319l-3.97247.53766,1.52063,3.70911a0.19331,0.19331,0,0,0,.37238-0.02142L11.952,6.24377A0.17945,0.17945,0,0,1,12.25146,6.10254ZM12.74688,14.766a0.17879,0.17879,0,0,1,.299.14053l0.1561,1.61412a0.1933,0.1933,0,0,0,.37235.02141L15.095,12.833l-3.97245-.53766a0.1933,0.1933,0,0,0-.16764.33317l1.31982,0.94225a0.17879,0.17879,0,0,1-.02781.32923l0.00361-.00254a4.57684,4.57684,0,0,1-4.502,0l-0.501.86523a5.50442,5.50442,0,0,0,5.50391,0Z" />
+</svg>
diff --git a/src/displayapp/icons/navigation/rotary.c b/src/displayapp/icons/navigation/rotary.c
new file mode 100644
index 00000000..c8189698
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROTARY
+#define LV_ATTRIBUTE_IMG_ROTARY
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROTARY uint8_t rotary_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x07, 0xc0, 0x1f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x1f, 0xc0, 0x1f, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xe0, 0x0f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x7f, 0xe0, 0x0f, 0xff, 0xff, 0x80,
+ 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xc0,
+ 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x03, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf8,
+ 0x00, 0x0f, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8,
+ 0x00, 0x0f, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xfc,
+ 0x00, 0x1f, 0xff, 0x80, 0x01, 0xff, 0x7f, 0xfe,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0xff, 0x3f, 0xfe,
+ 0x00, 0x3f, 0xfe, 0x00, 0x00, 0xff, 0x1f, 0xff,
+ 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0x0f, 0xff,
+ 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0x07, 0xff,
+ 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x7f, 0x03, 0xff,
+ 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x3f, 0x03, 0xff,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x1e, 0x01, 0xff,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xff, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xf0, 0x00, 0x00, 0xf8, 0x00, 0x00,
+ 0x07, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xe0, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1f, 0xff, 0xfe,
+ 0x00, 0x00, 0x01, 0xfc, 0x00, 0x1f, 0xff, 0xfe,
+ 0x00, 0x00, 0x01, 0xff, 0xc1, 0xff, 0xff, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x3f, 0xe0,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x3f, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80,
+};
+
+const lv_img_dsc_t rotary = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+rotary_map,
+};
diff --git a/src/displayapp/icons/navigation/rotary.png b/src/displayapp/icons/navigation/rotary.png
new file mode 100644
index 00000000..aab9644e
--- /dev/null
+++ b/src/displayapp/icons/navigation/rotary.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-left-white.svg b/src/displayapp/icons/navigation/roundabout-left-white.svg
new file mode 100644
index 00000000..f1762a07
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M13,6.2A3.8,3.8,0,1,1,9.2,10,3.80428,3.80428,0,0,1,13,6.2m0,7A3.2,3.2,0,1,0,9.8,10,3.20363,3.20363,0,0,0,13,13.2M13,6a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.82861-5.82813a4.0315,4.0315,0,0,0-.542-0.45459,4.078,4.078,0,0,0-5.11475.4541A3.96842,3.96842,0,0,0,9.03076,9.5H5a0.17879,0.17879,0,0,1-.18866-0.27124L5.48322,7.75287a0.1933,0.1933,0,0,0-.31177-0.20471L2,10l3.17145,2.45184a0.1933,0.1933,0,0,0,.31177-0.20471L4.81134,10.77124A0.17879,0.17879,0,0,1,5,10.5h5V10a2.98063,2.98063,0,0,1,.87891-2.12158,3.06088,3.06088,0,0,1,3.83545-.34082,3.02248,3.02248,0,0,1,.40723.34131A2.99976,2.99976,0,0,1,13,13H12.5v4h1V13.96924A4.00038,4.00038,0,0,0,15.82861,7.17187Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-left.c b/src/displayapp/icons/navigation/roundabout-left.c
new file mode 100644
index 00000000..9b8ebe36
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_LEFT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_LEFT uint8_t roundabout_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff,
+ 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff,
+ 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff,
+ 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff,
+ 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff,
+ 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff,
+ 0x7f, 0xfe, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0xff,
+ 0x1f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x01, 0xff,
+ 0x0f, 0xff, 0x00, 0x0f, 0xfe, 0x00, 0x03, 0xff,
+ 0x07, 0xff, 0x80, 0x07, 0xff, 0x00, 0x07, 0xff,
+ 0x03, 0xff, 0x80, 0x07, 0xff, 0xc0, 0x0f, 0xff,
+ 0x00, 0xff, 0x80, 0x07, 0xff, 0xe0, 0x3f, 0xff,
+ 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x3f, 0x80, 0x01, 0xff, 0xff, 0xff, 0xfe,
+ 0x00, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t roundabout_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_left_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-left.png b/src/displayapp/icons/navigation/roundabout-left.png
new file mode 100644
index 00000000..b25f0359
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-right-white.svg b/src/displayapp/icons/navigation/roundabout-right-white.svg
new file mode 100644
index 00000000..ab89ff96
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7,6.2A3.8,3.8,0,1,1,3.2,10,3.80428,3.80428,0,0,1,7,6.2m0,7A3.2,3.2,0,1,0,3.8,10,3.20363,3.20363,0,0,0,7,13.2M7,6a4,4,0,1,0,4,4A4.00458,4.00458,0,0,0,7,6H7Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3H7Zm7.83777-5.45184a0.1933,0.1933,0,0,0-.31177.20471l0.67188,1.47589A0.17881,0.17881,0,0,1,15.00916,9.5H10V10a2.99994,2.99994,0,0,1-3,3H6.5v4h1V13.96924A4.0032,4.0032,0,0,0,10.96924,10.5h4.03992a0.17881,0.17881,0,0,1,.18872.27124L14.526,12.24713a0.1933,0.1933,0,0,0,.31177.20471L18.00916,10Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-right.c b/src/displayapp/icons/navigation/roundabout-right.c
new file mode 100644
index 00000000..17eea49d
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_RIGHT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_RIGHT uint8_t roundabout_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00,
+ 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00,
+ 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80,
+ 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0,
+ 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0,
+ 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8,
+ 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc,
+ 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xfc,
+ 0xff, 0x80, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xf8,
+ 0xff, 0xc0, 0x00, 0x7f, 0xe0, 0x00, 0xff, 0xf0,
+ 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x01, 0xff, 0xe0,
+ 0xff, 0xf0, 0x03, 0xff, 0xe0, 0x01, 0xff, 0x80,
+ 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x01, 0xff, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xfe, 0x00,
+ 0x7f, 0xff, 0xff, 0xff, 0x80, 0x01, 0xf8, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x01, 0xf0, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t roundabout_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_right_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-right.png b/src/displayapp/icons/navigation/roundabout-right.png
new file mode 100644
index 00000000..def83ade
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-sharp-left-white.svg b/src/displayapp/icons/navigation/roundabout-sharp-left-white.svg
new file mode 100644
index 00000000..592e7183
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-sharp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10.994,5.2A3.8,3.8,0,1,1,7.194,9a3.80428,3.80428,0,0,1,3.8-3.8m0,7A3.2,3.2,0,1,0,7.794,9a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.8291-5.82813a4.03583,4.03583,0,0,0-.54248-0.45459,4.07906,4.07906,0,0,0-5.11475.4541,4.00058,4.00058,0,0,0-.33252,5.28076L4.76758,14.51792a0.17873,0.17873,0,0,1-.325-0.05847L3.874,12.94071a0.19332,0.19332,0,0,0-.36523.07568L3,16.99265l3.97626-.50879a0.19332,0.19332,0,0,0,.07568-0.36523L5.5332,15.55008a0.17879,0.17879,0,0,1-.05835-0.3252l-0.00037-.00037,3.40378-3.40567,0.33838-.353-0.34521-.34619A2.9995,2.9995,0,0,1,8.8729,6.87842a3.06063,3.06063,0,0,1,3.83545-.34082,3.02673,3.02673,0,0,1,.40771.34131A3,3,0,0,1,10.994,12h-0.5v4h1V12.96924A4.00076,4.00076,0,0,0,13.82309,6.17187Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-sharp-left.c b/src/displayapp/icons/navigation/roundabout-sharp-left.c
new file mode 100644
index 00000000..4bf45060
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-sharp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_LEFT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_LEFT uint8_t roundabout_sharp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x7f, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff,
+ 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff,
+ 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff,
+ 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x0f, 0xff,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x1f, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x3f, 0xff,
+ 0x00, 0x00, 0x03, 0xff, 0xf8, 0x00, 0xff, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0x03, 0xff, 0xfc,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x7e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x7e, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x7f, 0x03, 0xff, 0xf8, 0xff, 0xff, 0xf8, 0x00,
+ 0x7f, 0x07, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x00,
+ 0xff, 0x8f, 0xff, 0xe0, 0x03, 0xff, 0x00, 0x00,
+ 0xff, 0x9f, 0xff, 0xc0, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xbf, 0xff, 0x80, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xfe, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xf8, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xe0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xc0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0x80, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xf0, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t roundabout_sharp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_sharp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-sharp-left.png b/src/displayapp/icons/navigation/roundabout-sharp-left.png
new file mode 100644
index 00000000..3f6c2d21
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-sharp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-sharp-right-white.svg b/src/displayapp/icons/navigation/roundabout-sharp-right-white.svg
new file mode 100644
index 00000000..0811994d
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-sharp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M8.97217,5.2a3.8,3.8,0,1,1-3.8,3.8,3.8043,3.8043,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2,3.20362,3.20362,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm7.491,1.02374a0.19328,0.19328,0,0,0-.36517-0.07568L15.52948,14.4668a0.17883,0.17883,0,0,1-.32526.05835l-0.00018.00018-3.75726-3.75726-0.35352.35352A2.98022,2.98022,0,0,1,8.97217,12h-0.5v4h1V12.96924a3.95621,3.95621,0,0,0,1.95264-.80859l3.07312,3.07275a0.17841,0.17841,0,0,1-.05914.324L12.9201,16.126a0.1933,0.1933,0,0,0,.07568.36523L16.972,17Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-sharp-right.c b/src/displayapp/icons/navigation/roundabout-sharp-right.c
new file mode 100644
index 00000000..bf3f68aa
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-sharp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_RIGHT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SHARP_RIGHT uint8_t roundabout_sharp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x7f, 0xfe, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xfc, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00,
+ 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xf0, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00,
+ 0xff, 0x80, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00,
+ 0xff, 0xc0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xf0, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xf8, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00,
+ 0x7f, 0xff, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00,
+ 0x7f, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7e,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7e,
+ 0x00, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xc0, 0xfe,
+ 0x00, 0x07, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0xfe,
+ 0x00, 0x00, 0xff, 0xc0, 0x0f, 0xff, 0xf1, 0xfe,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xf9, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xfd, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x03, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff,
+};
+
+const lv_img_dsc_t roundabout_sharp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_sharp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-sharp-right.png b/src/displayapp/icons/navigation/roundabout-sharp-right.png
new file mode 100644
index 00000000..bb2a8454
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-sharp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-slight-left-white.svg b/src/displayapp/icons/navigation/roundabout-slight-left-white.svg
new file mode 100644
index 00000000..d597020e
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10.97473,7.2a3.8,3.8,0,1,1-3.8,3.8,3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2,3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm-5.499-9.20184A0.17879,0.17879,0,0,1,5.53408,4.473L7.0528,3.90441a0.1933,0.1933,0,0,0-.0757-0.36521L3.00086,3.03039,3.50967,7.00664a0.1933,0.1933,0,0,0,.36521.0757L4.44342,5.56362a0.17879,0.17879,0,0,1,.32521-0.05835m6.7061,9.464a4.00038,4.00038,0,0,0,2.32861-6.79736,4.0315,4.0315,0,0,0-.542-0.45459,4.07671,4.07671,0,0,0-4.73975.12256l-3.75294-3.749-0.707.708,4.439,4.43311,0.353-.35352a3.05971,3.05971,0,0,1,3.83545-.34082,3.02248,3.02248,0,0,1,.40723.34131A2.99976,2.99976,0,0,1,10.97472,14h-0.5v4h1V14.96924Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-slight-left.c b/src/displayapp/icons/navigation/roundabout-slight-left.c
new file mode 100644
index 00000000..4ddec650
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_LEFT uint8_t roundabout_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xfd, 0xff, 0xf8, 0x07, 0xf8, 0x00, 0x00,
+ 0x01, 0xfc, 0xff, 0xfc, 0x7f, 0xff, 0x80, 0x00,
+ 0x01, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x01, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x01, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0x0f, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0xff, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x7f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x1f, 0xc0,
+ 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x7f, 0xc0,
+ 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x01, 0xff, 0xc0,
+ 0x00, 0x00, 0x01, 0xff, 0xf0, 0x03, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0x07, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00,
+};
+
+const lv_img_dsc_t roundabout_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-slight-left.png b/src/displayapp/icons/navigation/roundabout-slight-left.png
new file mode 100644
index 00000000..ed8b7b17
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-slight-right-white.svg b/src/displayapp/icons/navigation/roundabout-slight-right-white.svg
new file mode 100644
index 00000000..26804143
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M8.97128,7.2a3.8,3.8,0,1,1-3.8,3.8,3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2,3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0ZM13.05247,3.45127a0.19328,0.19328,0,0,0-.07568.36517l1.51874,0.5686a0.17878,0.17878,0,0,1,.05835.3252l0.00006,0.00006L10.73885,8.52539l0.35352,0.35352A2.99976,2.99976,0,0,1,8.97127,14h-0.5v3.97917h1V14.96924a4.00123,4.00123,0,0,0,2.66016-6.42236L15.261,5.41734a0.17878,0.17878,0,0,1,.3252.05835L16.1547,6.99443a0.19332,0.19332,0,0,0,.36523-0.07574l0.50879-3.9762Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-slight-right.c b/src/displayapp/icons/navigation/roundabout-slight-right.c
new file mode 100644
index 00000000..e4ee2188
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_SLIGHT_RIGHT uint8_t roundabout_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x0f, 0xf0, 0x0f, 0xff, 0xdf, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0x1f, 0xff, 0x9f, 0xc0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xc0,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xc0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x0f, 0x80,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00,
+ 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00,
+ 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfc, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00,
+ 0x01, 0xfe, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
+ 0x01, 0xff, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00,
+ 0x01, 0xff, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0x80, 0x01, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0xc0, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x01, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0x00,
+ 0x01, 0xff, 0xfc, 0x3f, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t roundabout_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-slight-right.png b/src/displayapp/icons/navigation/roundabout-slight-right.png
new file mode 100644
index 00000000..20c7f33c
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-straight-white.svg b/src/displayapp/icons/navigation/roundabout-straight-white.svg
new file mode 100644
index 00000000..ebca38bd
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,8.2A3.8,3.8,0,1,1,6.2,12,3.80427,3.80427,0,0,1,10,8.2m0,7A3.2,3.2,0,1,0,6.8,12,3.20363,3.20363,0,0,0,10,15.2M10,8a4,4,0,1,0,4,4,4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3,3.00328,3.00328,0,0,1-3,3h0Zm2.83057-5.82666A3.97135,3.97135,0,0,0,10.5,8.03076V5.00415a0.17881,0.17881,0,0,1,.27124-0.18872L12.24713,5.4873a0.19329,0.19329,0,0,0,.20471-0.31177L10,2.00415,7.54816,5.17554a0.1933,0.1933,0,0,0,.20471.31177l1.476-.67187A0.17879,0.17879,0,0,1,9.5,5.00415V9H10a3,3,0,1,1,0,6H9.5v3h1V15.96924A4.00076,4.00076,0,0,0,12.83057,9.17334Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout-straight.c b/src/displayapp/icons/navigation/roundabout-straight.c
new file mode 100644
index 00000000..b090e0dc
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT_STRAIGHT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT_STRAIGHT uint8_t roundabout_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xcf, 0xf3, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0x80, 0x01, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xc0, 0x03, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xf0, 0x0f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t roundabout_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout-straight.png b/src/displayapp/icons/navigation/roundabout-straight.png
new file mode 100644
index 00000000..e5301327
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/roundabout-white.svg b/src/displayapp/icons/navigation/roundabout-white.svg
new file mode 100644
index 00000000..9c31a9fb
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M5.5,10.002a0.17879,0.17879,0,0,0,.27124.18866l1.47589-.67188a0.1933,0.1933,0,0,1,.20471.31177L5,13.002,2.54816,9.83051a0.1933,0.1933,0,0,1,.20471-0.31177l1.476,0.67188A0.17876,0.17876,0,0,0,4.5,10.002V10A5.51888,5.51888,0,0,1,7.25293,5.23437l0.5,0.86523A4.51856,4.51856,0,0,0,5.5,10v0.002Zm6.75146-3.89941A4.51948,4.51948,0,0,1,14.5,10h1a5.5223,5.5223,0,0,0-2.74756-4.7627L12.751,5.23724A0.17878,0.17878,0,0,1,12.72321,4.908L14.043,3.96576a0.19332,0.19332,0,0,0-.16766-0.33319l-3.97247.53766,1.52063,3.70911a0.19331,0.19331,0,0,0,.37238-0.02142L11.952,6.24377A0.17945,0.17945,0,0,1,12.25146,6.10254ZM12.74688,14.766a0.17879,0.17879,0,0,1,.299.14053l0.1561,1.61412a0.1933,0.1933,0,0,0,.37235.02141L15.095,12.833l-3.97245-.53766a0.1933,0.1933,0,0,0-.16764.33317l1.31982,0.94225a0.17879,0.17879,0,0,1-.02781.32923l0.00361-.00254a4.57684,4.57684,0,0,1-4.502,0l-0.501.86523a5.50442,5.50442,0,0,0,5.50391,0Z" />
+</svg>
diff --git a/src/displayapp/icons/navigation/roundabout.c b/src/displayapp/icons/navigation/roundabout.c
new file mode 100644
index 00000000..e29e0549
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_ROUNDABOUT
+#define LV_ATTRIBUTE_IMG_ROUNDABOUT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ROUNDABOUT uint8_t roundabout_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x07, 0xc0, 0x1f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x1f, 0xc0, 0x1f, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xe0, 0x0f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x7f, 0xe0, 0x0f, 0xff, 0xff, 0x80,
+ 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xc0,
+ 0x00, 0x01, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x03, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf8,
+ 0x00, 0x0f, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8,
+ 0x00, 0x0f, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xfc,
+ 0x00, 0x1f, 0xff, 0x80, 0x01, 0xff, 0x7f, 0xfe,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0xff, 0x3f, 0xfe,
+ 0x00, 0x3f, 0xfe, 0x00, 0x00, 0xff, 0x1f, 0xff,
+ 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0x0f, 0xff,
+ 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0x07, 0xff,
+ 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x7f, 0x03, 0xff,
+ 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x3f, 0x03, 0xff,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x1e, 0x01, 0xff,
+ 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff,
+ 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xff, 0xcf, 0xe0, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0xff, 0xf0, 0x00, 0x00, 0xf8, 0x00, 0x00,
+ 0x07, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xe0, 0x00,
+ 0x03, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1f, 0xff, 0xfe,
+ 0x00, 0x00, 0x01, 0xfc, 0x00, 0x1f, 0xff, 0xfe,
+ 0x00, 0x00, 0x01, 0xff, 0xc1, 0xff, 0xff, 0xfe,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x3f, 0xe0,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x3f, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80,
+};
+
+const lv_img_dsc_t roundabout = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+roundabout_map,
+};
diff --git a/src/displayapp/icons/navigation/roundabout.png b/src/displayapp/icons/navigation/roundabout.png
new file mode 100644
index 00000000..a469c089
--- /dev/null
+++ b/src/displayapp/icons/navigation/roundabout.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-left-white.svg b/src/displayapp/icons/navigation/turn-left-white.svg
new file mode 100644
index 00000000..3cb455d9
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M10,5.97986l0.011,0.00183A6.06019,6.06019,0,0,1,16,12.05493V16H15.99689l0.002,1.50317A0.49614,0.49614,0,0,1,15.50269,18H14.49622A0.49622,0.49622,0,0,1,14,17.50378V12.05493a4.05782,4.05782,0,0,0-3.98877-4.07324H8.01245a0.3576,0.3576,0,0,0-.37738.54248L8.97882,11.476a0.38659,0.38659,0,0,1-.62354.40942L2.0083,7l6.347-4.922a0.38659,0.38659,0,0,1,.62354.40942L7.63507,5.43927a0.35757,0.35757,0,0,0,.37738.54242H10"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-left.c b/src/displayapp/icons/navigation/turn-left.c
new file mode 100644
index 00000000..91d73c98
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_LEFT
+#define LV_ATTRIBUTE_IMG_TURN_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_LEFT uint8_t turn_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xff, 0xe0,
+ 0x00, 0x7f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xf0,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xf0,
+ 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0xff, 0xf0,
+ 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x7f, 0xf0,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0,
+};
+
+const lv_img_dsc_t turn_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_left_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-left.png b/src/displayapp/icons/navigation/turn-left.png
new file mode 100644
index 00000000..2e39f5f7
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-right-white.svg b/src/displayapp/icons/navigation/turn-right-white.svg
new file mode 100644
index 00000000..98967557
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M9.98877,7.98169A4.05782,4.05782,0,0,0,6,12.05493v5.44885A0.49622,0.49622,0,0,1,5.50378,18H4.49731a0.49614,0.49614,0,0,1-.49615-0.49683L4.00311,16H4V12.05493A6.06019,6.06019,0,0,1,9.989,5.98169L10,5.97986V5.98169h1.98755a0.35757,0.35757,0,0,0,.37738-0.54242L11.02118,2.48743A0.38659,0.38659,0,0,1,11.64471,2.078L17.9917,7l-6.347,4.88544a0.38659,0.38659,0,0,1-.62354-0.40942l1.34375-2.95184a0.3576,0.3576,0,0,0-.37738-0.54248H9.98877Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-right.c b/src/displayapp/icons/navigation/turn-right.c
new file mode 100644
index 00000000..ea092c9e
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_RIGHT
+#define LV_ATTRIBUTE_IMG_TURN_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_RIGHT uint8_t turn_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x07, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0x00,
+ 0x0f, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xfe, 0x00,
+ 0x0f, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xf8, 0x00,
+ 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xe0, 0x00,
+ 0x0f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x00,
+ 0x0f, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x0f, 0xff, 0x80, 0x01, 0xff, 0xfe, 0x00, 0x00,
+ 0x0f, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00,
+ 0x0f, 0xfe, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t turn_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_right_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-right.png b/src/displayapp/icons/navigation/turn-right.png
new file mode 100644
index 00000000..2f58bc4f
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-sharp-left-white.svg b/src/displayapp/icons/navigation/turn-sharp-left-white.svg
new file mode 100644
index 00000000..838e9d02
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-sharp-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M15.49771,17.99542a0.49779,0.49779,0,0,1-.49779-0.49779V4.99933L14.72014,4.993a2.56758,2.56758,0,0,0-2.0957.79L7.22917,10.39583a0.34918,0.34918,0,0,0,.08252.63177l2.92877,1.39331a0.38658,0.38658,0,0,1-.21344.71472l-8.0105.33209,1.69568-7.836a0.38661,0.38661,0,0,1,.74072-0.0882l0.8725,3.12372a0.35757,0.35757,0,0,0,.638.17206L5.9672,8.84377,11.3593,4.23468a4.46634,4.46634,0,0,1,3.38477-1.24121l0.26416,0.002a1.92935,1.92935,0,0,1,1.43408.56885,2.10247,2.10247,0,0,1,.55713,1.46045L16.9999,17.49761a0.49779,0.49779,0,0,1-.49779.49781h-1.0044Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-sharp-left.c b/src/displayapp/icons/navigation/turn-sharp-left.c
new file mode 100644
index 00000000..da219e5c
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-sharp-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_SHARP_LEFT
+#define LV_ATTRIBUTE_IMG_TURN_SHARP_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SHARP_LEFT uint8_t turn_sharp_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0x03, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff,
+ 0x07, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0xe7, 0xff,
+ 0x07, 0xf8, 0x00, 0x1f, 0xff, 0xff, 0x87, 0xff,
+ 0x0f, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0x7f, 0xff, 0xfc, 0x07, 0xff,
+ 0x0f, 0xfc, 0x00, 0xff, 0xff, 0xf8, 0x07, 0xff,
+ 0x0f, 0xfc, 0x01, 0xff, 0xff, 0xf0, 0x07, 0xff,
+ 0x0f, 0xfe, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff,
+ 0x1f, 0xfe, 0x1f, 0xff, 0xff, 0x80, 0x07, 0xff,
+ 0x1f, 0xff, 0x3f, 0xff, 0xff, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff,
+ 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xff,
+ 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff,
+ 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff,
+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff,
+};
+
+const lv_img_dsc_t turn_sharp_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_sharp_left_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-sharp-left.png b/src/displayapp/icons/navigation/turn-sharp-left.png
new file mode 100644
index 00000000..23243f5f
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-sharp-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-sharp-right-white.svg b/src/displayapp/icons/navigation/turn-sharp-right-white.svg
new file mode 100644
index 00000000..44542f52
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-sharp-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M3.49789,17.99542a0.49779,0.49779,0,0,1-.49779-0.49781L3.00057,5.02472A2.10247,2.10247,0,0,1,3.5577,3.56427a1.92935,1.92935,0,0,1,1.43408-.56885l0.26416-.002A4.46634,4.46634,0,0,1,8.6407,4.23468L14.0328,8.84377l0.00378-.00446a0.35757,0.35757,0,0,0,.638-0.17206l0.8725-3.12372a0.38661,0.38661,0,0,1,.74072.0882l1.69568,7.836L9.973,13.13564a0.38658,0.38658,0,0,1-.21344-0.71472l2.92877-1.39331a0.34918,0.34918,0,0,0,.08252-0.63177L7.37557,5.783a2.56758,2.56758,0,0,0-2.0957-.79l-0.27979.00635v12.4983a0.49779,0.49779,0,0,1-.49779.49779H3.49789Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-sharp-right.c b/src/displayapp/icons/navigation/turn-sharp-right.c
new file mode 100644
index 00000000..83827037
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-sharp-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_SHARP_RIGHT
+#define LV_ATTRIBUTE_IMG_TURN_SHARP_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SHARP_RIGHT uint8_t turn_sharp_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xe0,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe7, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe1, 0xff, 0xff, 0xf8, 0x00, 0x1f, 0xe0,
+ 0xff, 0xe0, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x1f, 0xff, 0xff, 0x00, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x0f, 0xff, 0xff, 0x80, 0x3f, 0xf0,
+ 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x7f, 0xf0,
+ 0xff, 0xe0, 0x03, 0xff, 0xff, 0xf0, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x01, 0xff, 0xff, 0xf8, 0x7f, 0xf8,
+ 0xff, 0xe0, 0x00, 0xff, 0xff, 0xfc, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe,
+ 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t turn_sharp_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_sharp_right_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-sharp-right.png b/src/displayapp/icons/navigation/turn-sharp-right.png
new file mode 100644
index 00000000..1ce59a47
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-sharp-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-slight-left-white.svg b/src/displayapp/icons/navigation/turn-slight-left-white.svg
new file mode 100644
index 00000000..7ae2013c
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-slight-left-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.9859,14.043v3.46082A0.49621,0.49621,0,0,1,14.48974,18H13.48321a0.49614,0.49614,0,0,1-.49615-0.49683l0.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144L8.87854,7.68585a0.35758,0.35758,0,0,0-.6405.16266l-0.91821,3.1106A0.38663,0.38663,0,0,1,6.58044,10.86L5,3l8.00476,0.44965a0.38658,0.38658,0,0,1,.20294.71777L10.25878,5.51758a0.3576,0.3576,0,0,0-.07019.6571l2.45746,2.07385A7.25158,7.25158,0,0,1,14.9859,14.043Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-slight-left.c b/src/displayapp/icons/navigation/turn-slight-left.c
new file mode 100644
index 00000000..e3d3fbb9
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-slight-left.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_SLIGHT_LEFT
+#define LV_ATTRIBUTE_IMG_TURN_SLIGHT_LEFT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SLIGHT_LEFT uint8_t turn_slight_left_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc7, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xc3, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xc1, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0x80, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x7f, 0xff, 0xf0, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x1f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x80, 0x0f, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x07, 0xff, 0xf8, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00,
+};
+
+const lv_img_dsc_t turn_slight_left = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_slight_left_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-slight-left.png b/src/displayapp/icons/navigation/turn-slight-left.png
new file mode 100644
index 00000000..8fea533f
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-slight-left.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-slight-right-white.svg b/src/displayapp/icons/navigation/turn-slight-right-white.svg
new file mode 100644
index 00000000..46090067
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-slight-right-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M7.35395,8.24854L9.81141,6.17468a0.3576,0.3576,0,0,0-.07019-0.6571L6.7923,4.16742a0.38658,0.38658,0,0,1,.20294-0.71777L15,3l-1.58044,7.86a0.38663,0.38663,0,0,1-.73938.09912L11.762,7.84851a0.35758,0.35758,0,0,0-.6405-0.16266L8.67328,9.75146a5.21819,5.21819,0,0,0-1.665,4.144l0.0047,3.60767A0.49614,0.49614,0,0,1,6.51679,18H5.51026a0.49621,0.49621,0,0,1-.49615-0.49622V14.043A7.25157,7.25157,0,0,1,7.35395,8.24854Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-slight-right.c b/src/displayapp/icons/navigation/turn-slight-right.c
new file mode 100644
index 00000000..a62e3481
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-slight-right.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_SLIGHT_RIGHT
+#define LV_ATTRIBUTE_IMG_TURN_SLIGHT_RIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_SLIGHT_RIGHT uint8_t turn_slight_right_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xe0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xe1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xc1, 0xff, 0xe0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0x80, 0xff, 0xe0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf8, 0x00, 0xff, 0xc0, 0x00,
+ 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x7f, 0xc0, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x7f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x80, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x3f, 0x80, 0x00,
+ 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t turn_slight_right = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_slight_right_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-slight-right.png b/src/displayapp/icons/navigation/turn-slight-right.png
new file mode 100644
index 00000000..172c348e
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-slight-right.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/turn-straight-white.svg b/src/displayapp/icons/navigation/turn-straight-white.svg
new file mode 100644
index 00000000..08531119
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-straight-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.50342,8.96637L11.55157,7.62262A0.35755,0.35755,0,0,0,11.00916,8v9.49652A0.50346,0.50346,0,0,1,10.50568,18h-0.993a0.50346,0.50346,0,0,1-.50348-0.50348V8a0.35756,0.35756,0,0,0-.54242-0.37738L5.51489,8.96637a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,2l4.90369,6.34283A0.3866,0.3866,0,0,1,14.50342,8.96637Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/turn-straight.c b/src/displayapp/icons/navigation/turn-straight.c
new file mode 100644
index 00000000..e00cf3fd
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-straight.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_TURN_STRAIGHT
+#define LV_ATTRIBUTE_IMG_TURN_STRAIGHT
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TURN_STRAIGHT uint8_t turn_straight_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
+ 0x00, 0x0f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x00,
+ 0x00, 0x0f, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x00,
+ 0x00, 0x0f, 0x80, 0x3f, 0xfc, 0x01, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t turn_straight = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+turn_straight_map,
+};
diff --git a/src/displayapp/icons/navigation/turn-straight.png b/src/displayapp/icons/navigation/turn-straight.png
new file mode 100644
index 00000000..7dee5deb
--- /dev/null
+++ b/src/displayapp/icons/navigation/turn-straight.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/updown-white.svg b/src/displayapp/icons/navigation/updown-white.svg
new file mode 100644
index 00000000..1dfbfbb6
--- /dev/null
+++ b/src/displayapp/icons/navigation/updown-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M14.91284,12.65717L10.00916,19,5.10547,12.65717a0.38659,0.38659,0,0,1,.40942-0.62354l2.95184,1.34375A0.35757,0.35757,0,0,0,9.00916,13V7.0083a0.35757,0.35757,0,0,0-.54242-0.37738L5.51489,7.97467a0.38659,0.38659,0,0,1-.40942-0.62354L10.00916,1.0083l4.90369,6.34283a0.3866,0.3866,0,0,1-.40942.62354L11.55157,6.63092a0.35757,0.35757,0,0,0-.54242.37738V13a0.35757,0.35757,0,0,0,.54242.37738l2.95184-1.34375A0.3866,0.3866,0,0,1,14.91284,12.65717Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/updown.c b/src/displayapp/icons/navigation/updown.c
new file mode 100644
index 00000000..3aae978d
--- /dev/null
+++ b/src/displayapp/icons/navigation/updown.c
@@ -0,0 +1,97 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_UPDOWN
+#define LV_ATTRIBUTE_IMG_UPDOWN
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_UPDOWN uint8_t updown_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00,
+ 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00,
+ 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xc0, 0x3f, 0xfc, 0x03, 0xc0, 0x00,
+ 0x00, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x00,
+ 0x00, 0x03, 0xfe, 0x3f, 0xfc, 0x7f, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xbf, 0xfd, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfe, 0x00, 0x00,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
+};
+
+const lv_img_dsc_t updown = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+
+updown_map,
+};
diff --git a/src/displayapp/icons/navigation/updown.png b/src/displayapp/icons/navigation/updown.png
new file mode 100644
index 00000000..4a550f83
--- /dev/null
+++ b/src/displayapp/icons/navigation/updown.png
Binary files differ
diff --git a/src/displayapp/icons/navigation/uturn-white.svg b/src/displayapp/icons/navigation/uturn-white.svg
new file mode 100644
index 00000000..dc181dc6
--- /dev/null
+++ b/src/displayapp/icons/navigation/uturn-white.svg
@@ -0,0 +1,4 @@
+<svg id="WORKING_ICONS" data-name="WORKING ICONS" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <title>direction</title>
+ <path fill="#ffffff" d="M17,8v9.49652A0.50346,0.50346,0,0,1,16.49652,18h-0.993A0.50346,0.50346,0,0,1,15,17.49652V8A3.5,3.5,0,0,0,8,8v4H7.99091a0.35757,0.35757,0,0,0,.54242.37738l2.95184-1.34375a0.3866,0.3866,0,0,1,.40942.62354L6.99091,18,2.08716,11.65717a0.3866,0.3866,0,0,1,.40942-0.62354l2.95184,1.34375A0.3576,0.3576,0,0,0,5.99091,12H6V8A5.5,5.5,0,0,1,17,8Z"/>
+</svg>
diff --git a/src/displayapp/icons/navigation/uturn.c b/src/displayapp/icons/navigation/uturn.c
new file mode 100644
index 00000000..30e11145
--- /dev/null
+++ b/src/displayapp/icons/navigation/uturn.c
@@ -0,0 +1,96 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "lvgl/lvgl.h"
+#endif
+
+
+#ifndef LV_ATTRIBUTE_MEM_ALIGN
+#define LV_ATTRIBUTE_MEM_ALIGN
+#endif
+
+#ifndef LV_ATTRIBUTE_IMG_UTURN
+#define LV_ATTRIBUTE_IMG_UTURN
+#endif
+
+const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_UTURN uint8_t uturn_map[] = {
+ 0x04, 0x02, 0x04, 0xff, /*Color of index 0*/
+ 0xfc, 0xfe, 0xfc, 0xff, /*Color of index 1*/
+
+ 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80,
+ 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xe0,
+ 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0,
+ 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8,
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc,
+ 0x00, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xfe,
+ 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x0f, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x03, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x80, 0x01, 0xff, 0xfe,
+ 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xfe,
+ 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xfe,
+ 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x7c, 0x00, 0xff, 0xf0, 0x03, 0xf0, 0x07, 0xfe,
+ 0x7f, 0x00, 0xff, 0xf0, 0x1f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xc0, 0xff, 0xf0, 0x7f, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xf8, 0xff, 0xf1, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xfe, 0xff, 0xf7, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xfe,
+ 0x3f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xfe,
+ 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xfe,
+ 0x07, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xfe,
+ 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xfe,
+ 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe,
+ 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x00, 0x07, 0xfe,
+ 0x00, 0x7f, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xfe,
+ 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x1f, 0xff, 0xff, 0x80, 0x00, 0x07, 0xfe,
+ 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x07, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+ 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x07, 0xfe,
+};
+
+const lv_img_dsc_t uturn = {
+ {
+ LV_IMG_CF_INDEXED_1BIT,
+ 0,
+ 0,
+ 64,
+ 64
+ },
+ 520,
+ uturn_map,
+};
diff --git a/src/displayapp/icons/navigation/uturn.png b/src/displayapp/icons/navigation/uturn.png
new file mode 100644
index 00000000..464d32e9
--- /dev/null
+++ b/src/displayapp/icons/navigation/uturn.png
Binary files differ
diff --git a/src/displayapp/screens/ApplicationList.cpp b/src/displayapp/screens/ApplicationList.cpp
index 0b8face3..dd7fcd41 100644
--- a/src/displayapp/screens/ApplicationList.cpp
+++ b/src/displayapp/screens/ApplicationList.cpp
@@ -45,7 +45,7 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen1() {
{Symbols::sun, Apps::Brightness},
{Symbols::list, Apps::SysInfo},
{Symbols::check, Apps::FirmwareValidation},
- {Symbols::none, Apps::None}
+ {Symbols::heartBeat, Apps::HeartRate}
}
@@ -56,7 +56,7 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen1() {
std::unique_ptr<Screen> ApplicationList::CreateScreen2() {
std::array<Screens::Tile::Applications, 6> applications {
- {{Symbols::tachometer, Apps::Gauge},
+ {{Symbols::map, Apps::Navigation},
{Symbols::asterisk, Apps::Meter},
{Symbols::paintbrush, Apps::Paint},
{Symbols::info, Apps::Notifications},
diff --git a/src/displayapp/screens/BatteryIcon.cpp b/src/displayapp/screens/BatteryIcon.cpp
index 4c102477..455b0c6d 100644
--- a/src/displayapp/screens/BatteryIcon.cpp
+++ b/src/displayapp/screens/BatteryIcon.cpp
@@ -3,11 +3,11 @@
using namespace Pinetime::Applications::Screens;
-const char* BatteryIcon::GetBatteryIcon(float batteryPercent) {
- if(batteryPercent > 90.0f) return Symbols::batteryFull;
- if(batteryPercent > 75.0f) return Symbols::batteryThreeQuarter;
- if(batteryPercent > 50.0f) return Symbols::batteryHalf;
- if(batteryPercent > 25.0f) return Symbols::batteryOneQuarter;
+const char* BatteryIcon::GetBatteryIcon(int batteryPercent) {
+ if(batteryPercent > 90) return Symbols::batteryFull;
+ if(batteryPercent > 75) return Symbols::batteryThreeQuarter;
+ if(batteryPercent > 50) return Symbols::batteryHalf;
+ if(batteryPercent > 25) return Symbols::batteryOneQuarter;
return Symbols::batteryEmpty;
}
diff --git a/src/displayapp/screens/BatteryIcon.h b/src/displayapp/screens/BatteryIcon.h
index f1001923..006e5621 100644
--- a/src/displayapp/screens/BatteryIcon.h
+++ b/src/displayapp/screens/BatteryIcon.h
@@ -6,7 +6,7 @@ namespace Pinetime {
class BatteryIcon {
public:
static const char* GetUnknownIcon();
- static const char* GetBatteryIcon(float batteryPercent);
+ static const char* GetBatteryIcon(int batteryPercent);
static const char* GetPlugIcon(bool isCharging);
};
}
diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp
index 57659141..2988922e 100644
--- a/src/displayapp/screens/Clock.cpp
+++ b/src/displayapp/screens/Clock.cpp
@@ -10,6 +10,7 @@
#include "components/battery/BatteryController.h"
#include "components/ble/BleController.h"
#include "components/ble/NotificationManager.h"
+#include "components/heartrate/HeartRateController.h"
#include "../DisplayApp.h"
using namespace Pinetime::Applications::Screens;
@@ -26,9 +27,11 @@ Clock::Clock(DisplayApp* app,
Controllers::DateTime& dateTimeController,
Controllers::Battery& batteryController,
Controllers::Ble& bleController,
- Controllers::NotificationManager& notificatioManager) : Screen(app), currentDateTime{{}},
+ Controllers::NotificationManager& notificatioManager,
+ Controllers::HeartRateController& heartRateController): Screen(app), currentDateTime{{}},
dateTimeController{dateTimeController}, batteryController{batteryController},
- bleController{bleController}, notificatioManager{notificatioManager} {
+ bleController{bleController}, notificatioManager{notificatioManager},
+ heartRateController{heartRateController} {
displayedChar[0] = 0;
displayedChar[1] = 0;
displayedChar[2] = 0;
@@ -171,10 +174,15 @@ bool Clock::Refresh() {
}
}
- // TODO heartbeat = heartBeatController.GetValue();
- if(heartbeat.IsUpdated()) {
+ heartbeat = heartRateController.HeartRate();
+ heartbeatRunning = heartRateController.State() != Controllers::HeartRateController::States::Stopped;
+ if(heartbeat.IsUpdated() || heartbeatRunning.IsUpdated()) {
char heartbeatBuffer[4];
- sprintf(heartbeatBuffer, "%d", heartbeat.Get());
+ if(heartbeatRunning.Get())
+ sprintf(heartbeatBuffer, "%d", heartbeat.Get());
+ else
+ sprintf(heartbeatBuffer, "---");
+
lv_label_set_text(heartbeatValue, heartbeatBuffer);
lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2);
lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
diff --git a/src/displayapp/screens/Clock.h b/src/displayapp/screens/Clock.h
index 4c5f60a0..3a4c67a3 100644
--- a/src/displayapp/screens/Clock.h
+++ b/src/displayapp/screens/Clock.h
@@ -12,6 +12,7 @@ namespace Pinetime {
class Battery;
class Ble;
class NotificationManager;
+ class HeartRateController;
}
namespace Applications {
@@ -42,7 +43,8 @@ namespace Pinetime {
Controllers::DateTime& dateTimeController,
Controllers::Battery& batteryController,
Controllers::Ble& bleController,
- Controllers::NotificationManager& notificatioManager);
+ Controllers::NotificationManager& notificatioManager,
+ Controllers::HeartRateController& heartRateController);
~Clock() override;
bool Refresh() override;
@@ -62,11 +64,12 @@ namespace Pinetime {
Pinetime::Controllers::DateTime::Days currentDayOfWeek = Pinetime::Controllers::DateTime::Days::Unknown;
uint8_t currentDay = 0;
- DirtyValue<float> batteryPercentRemaining {0};
+ DirtyValue<int> batteryPercentRemaining {0};
DirtyValue<bool> bleState {false};
DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime;
DirtyValue<uint32_t> stepCount {0};
DirtyValue<uint8_t> heartbeat {0};
+ DirtyValue<bool> heartbeatRunning {false};
DirtyValue<bool> notificationState {false};
lv_obj_t* label_time;
@@ -86,6 +89,7 @@ namespace Pinetime {
Controllers::Battery& batteryController;
Controllers::Ble& bleController;
Controllers::NotificationManager& notificatioManager;
+ Controllers::HeartRateController& heartRateController;
bool running = true;
diff --git a/src/displayapp/screens/HeartRate.cpp b/src/displayapp/screens/HeartRate.cpp
new file mode 100644
index 00000000..d55ed019
--- /dev/null
+++ b/src/displayapp/screens/HeartRate.cpp
@@ -0,0 +1,115 @@
+#include <libs/lvgl/lvgl.h>
+#include "HeartRate.h"
+#include <components/heartrate/HeartRateController.h>
+
+#include "../DisplayApp.h"
+
+using namespace Pinetime::Applications::Screens;
+extern lv_font_t jetbrains_mono_extrabold_compressed;
+extern lv_font_t jetbrains_mono_bold_20;
+
+namespace {
+ const char *ToString(Pinetime::Controllers::HeartRateController::States s) {
+ switch (s) {
+ case Pinetime::Controllers::HeartRateController::States::NotEnoughData:
+ return "Not enough data,\nplease wait...";
+ case Pinetime::Controllers::HeartRateController::States::NoTouch:
+ return "No touch detected";
+ case Pinetime::Controllers::HeartRateController::States::Running:
+ return "Measuring...";
+ case Pinetime::Controllers::HeartRateController::States::Stopped:
+ return "Stopped";
+ }
+ return "";
+ }
+
+ static void btnStartStopEventHandler(lv_obj_t *obj, lv_event_t event) {
+ HeartRate *screen = static_cast<HeartRate *>(obj->user_data);
+ screen->OnStartStopEvent(event);
+ }
+}
+
+HeartRate::HeartRate(Pinetime::Applications::DisplayApp *app, Controllers::HeartRateController& heartRateController) : Screen(app), heartRateController{heartRateController} {
+ label_bpm = lv_label_create(lv_scr_act(), NULL);
+
+ labelStyle = const_cast<lv_style_t *>(lv_label_get_style(label_bpm, LV_LABEL_STYLE_MAIN));
+ labelStyle->text.font = &jetbrains_mono_bold_20;
+
+ lv_style_copy(&labelBigStyle, labelStyle);
+ labelBigStyle.text.font = &jetbrains_mono_extrabold_compressed;
+
+ lv_label_set_style(label_bpm, LV_LABEL_STYLE_MAIN, labelStyle);
+
+ label_hr = lv_label_create(lv_scr_act(), NULL);
+ lv_label_set_style(label_hr, LV_LABEL_STYLE_MAIN, &labelBigStyle);
+ lv_obj_align(label_hr, lv_scr_act(), LV_ALIGN_CENTER, -70, -40);
+ lv_label_set_text(label_hr, "000");
+
+ lv_label_set_text(label_bpm, "Heart rate BPM");
+ lv_obj_align(label_bpm, label_hr, LV_ALIGN_OUT_TOP_MID, 0, -20);
+
+
+ label_status = lv_label_create(lv_scr_act(), NULL);
+ lv_label_set_text(label_status, ToString(Pinetime::Controllers::HeartRateController::States::NotEnoughData));
+ lv_label_set_style(label_status, LV_LABEL_STYLE_MAIN, labelStyle);
+ lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+
+ btn_startStop = lv_btn_create(lv_scr_act(), NULL);
+ btn_startStop->user_data = this;
+ lv_obj_set_height(btn_startStop, 50);
+ lv_obj_set_event_cb(btn_startStop, btnStartStopEventHandler);
+ lv_obj_align(btn_startStop, nullptr, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
+
+ label_startStop = lv_label_create(btn_startStop, nullptr);
+ UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped);
+}
+
+HeartRate::~HeartRate() {
+ lv_obj_clean(lv_scr_act());
+}
+
+bool HeartRate::Refresh() {
+ char hr[4];
+
+ auto state = heartRateController.State();
+ switch(state) {
+ case Controllers::HeartRateController::States::NoTouch:
+ case Controllers::HeartRateController::States::NotEnoughData:
+ case Controllers::HeartRateController::States::Stopped:
+ lv_label_set_text(label_hr, "000");
+ break;
+ default:
+ sprintf(hr, "%03d", heartRateController.HeartRate());
+ lv_label_set_text(label_hr, hr);
+ }
+
+ lv_label_set_text(label_status, ToString(state));
+ lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+
+ return running;
+}
+
+bool HeartRate::OnButtonPushed() {
+ running = false;
+ return true;
+}
+
+void HeartRate::OnStartStopEvent(lv_event_t event) {
+ if (event == LV_EVENT_CLICKED) {
+ if(heartRateController.State() == Controllers::HeartRateController::States::Stopped) {
+ heartRateController.Start();
+ UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped);
+ }
+ else {
+ heartRateController.Stop();
+ UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped);
+ }
+ }
+}
+
+void HeartRate::UpdateStartStopButton(bool isRunning) {
+ if(isRunning)
+ lv_label_set_text(label_startStop, "Stop");
+ else
+ lv_label_set_text(label_startStop, "Start");
+}
diff --git a/src/displayapp/screens/HeartRate.h b/src/displayapp/screens/HeartRate.h
new file mode 100644
index 00000000..b9424998
--- /dev/null
+++ b/src/displayapp/screens/HeartRate.h
@@ -0,0 +1,42 @@
+#pragma once
+
+#include <cstdint>
+#include <chrono>
+#include "Screen.h"
+#include <bits/unique_ptr.h>
+#include <libs/lvgl/src/lv_core/lv_style.h>
+#include <libs/lvgl/src/lv_core/lv_obj.h>
+
+namespace Pinetime {
+ namespace Controllers {
+ class HeartRateController;
+ }
+ namespace Applications {
+ namespace Screens {
+
+ class HeartRate : public Screen{
+ public:
+ HeartRate(DisplayApp* app, Controllers::HeartRateController& HeartRateController);
+ ~HeartRate() override;
+
+ bool Refresh() override;
+ bool OnButtonPushed() override;
+ void OnStartStopEvent(lv_event_t event);
+
+ private:
+ Controllers::HeartRateController& heartRateController;
+ void UpdateStartStopButton(bool isRunning);
+ lv_obj_t* label_hr;
+ lv_obj_t* label_bpm;
+ lv_obj_t* label_status;
+ lv_style_t labelBigStyle;
+ lv_style_t* labelStyle;
+ lv_obj_t* btn_startStop;
+ lv_obj_t* label_startStop;
+
+ bool running = true;
+
+ };
+ }
+ }
+}
diff --git a/src/displayapp/screens/Navigation.cpp b/src/displayapp/screens/Navigation.cpp
new file mode 100644
index 00000000..4b0e92c4
--- /dev/null
+++ b/src/displayapp/screens/Navigation.cpp
@@ -0,0 +1,120 @@
+/* Copyright (C) 2021 Adam Pigg
+
+ This file is part of InfiniTime.
+
+ InfiniTime is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ InfiniTime is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+#include "Navigation.h"
+#include <cstdint>
+#include "../DisplayApp.h"
+#include "components/ble/NavigationService.h"
+
+using namespace Pinetime::Applications::Screens;
+
+extern lv_font_t jetbrains_mono_extrabold_compressed;
+extern lv_font_t jetbrains_mono_bold_20;
+
+/**
+ * Set the pixel array to display by the image
+ * This just calls lv_img_set_src but adds type safety
+ *
+ * @param img pointer to an image object
+ * @param data the image array
+ */
+inline void lv_img_set_src_arr(lv_obj_t *img, const lv_img_dsc_t *src_img) {
+ lv_img_set_src(img, src_img);
+}
+
+/**
+ * Navigation watchapp
+ *
+ */
+Navigation::Navigation(Pinetime::Applications::DisplayApp *app, Pinetime::Controllers::NavigationService &nav) : Screen(app), navService(nav) {
+
+ constexpr uint8_t FONT_HEIGHT = 12;
+ constexpr uint8_t LINE_PAD = 15;
+ constexpr int8_t MIDDLE_OFFSET = -25;
+
+ imgFlag = lv_img_create(lv_scr_act(), nullptr);
+ lv_img_set_src_arr(imgFlag, &flag);
+ lv_obj_align(imgFlag, nullptr, LV_ALIGN_IN_TOP_MID, 0, 15);
+
+ txtNarrative = lv_label_create(lv_scr_act(), nullptr);
+ lv_label_set_long_mode(txtNarrative, LV_LABEL_LONG_SROLL);
+ lv_obj_align(txtNarrative, nullptr, LV_ALIGN_IN_LEFT_MID, 12, MIDDLE_OFFSET + 1 * FONT_HEIGHT);
+ lv_label_set_text(txtNarrative, "Narrative");
+ lv_label_set_align(txtNarrative, LV_LABEL_ALIGN_CENTER);
+ lv_label_set_anim_speed(txtNarrative, 15);
+ lv_obj_set_width(txtNarrative, LV_HOR_RES);
+
+ txtManDist = lv_label_create(lv_scr_act(), nullptr);
+ lv_label_set_long_mode(txtManDist, LV_LABEL_LONG_SROLL);
+ lv_obj_align(txtManDist, nullptr, LV_ALIGN_IN_LEFT_MID, 12, MIDDLE_OFFSET + 2 * FONT_HEIGHT + LINE_PAD);
+ lv_label_set_text(txtManDist, "0M");
+ lv_label_set_align(txtManDist, LV_LABEL_ALIGN_CENTER);
+ lv_obj_set_width(txtManDist, LV_HOR_RES);
+
+ //Route Progress
+ barProgress = lv_bar_create(lv_scr_act(), NULL);
+ lv_obj_set_size(barProgress, 200, 20);
+ lv_obj_align(barProgress, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
+ lv_bar_set_anim_time(barProgress, 500);
+ lv_bar_set_range(barProgress, 0, 100);
+ lv_bar_set_value(barProgress, 0, LV_ANIM_ON);
+}
+
+Navigation::~Navigation() {
+ lv_obj_clean(lv_scr_act());
+}
+
+bool Navigation::Refresh() {
+
+ if (m_flag != navService.getFlag()) {
+ m_flag = navService.getFlag();
+
+ lv_img_set_src_arr(imgFlag, iconForName(m_flag));
+ }
+
+ if (m_narrative != navService.getNarrative()) {
+ m_narrative = navService.getNarrative();
+ lv_label_set_text(txtNarrative, m_narrative.data());
+ }
+
+ if (m_manDist != navService.getManDist()) {
+ m_manDist = navService.getManDist();
+ lv_label_set_text(txtManDist, m_manDist.data());
+ }
+
+ if (m_progress != navService.getProgress()) {
+ m_progress = navService.getProgress();
+ lv_bar_set_value(barProgress, m_progress, LV_ANIM_ON);
+ }
+
+ return running;
+}
+
+bool Navigation::OnButtonPushed() {
+ running = false;
+ return true;
+}
+
+const lv_img_dsc_t* Navigation::iconForName(std::string icon)
+{
+ for (auto iter : m_iconMap) {
+ if (iter.first == icon) {
+ return iter.second;
+ }
+ }
+ return &invalid;
+}
diff --git a/src/displayapp/screens/Navigation.h b/src/displayapp/screens/Navigation.h
new file mode 100644
index 00000000..9fdd37d9
--- /dev/null
+++ b/src/displayapp/screens/Navigation.h
@@ -0,0 +1,238 @@
+/* Copyright (C) 2021 Adam Pigg
+
+ This file is part of InfiniTime.
+
+ InfiniTime is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ InfiniTime is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+#include <FreeRTOS.h>
+#include <lvgl/src/lv_core/lv_obj.h>
+#include <string>
+#include "Screen.h"
+#include <array>
+#include <lvgl/src/lv_draw/lv_img_decoder.h>
+
+#include "displayapp/icons/navigation/arrive-left.c"
+#include "displayapp/icons/navigation/arrive-right.c"
+#include "displayapp/icons/navigation/arrive-straight.c"
+#include "displayapp/icons/navigation/arrive.c"
+#include "displayapp/icons/navigation/close.c"
+#include "displayapp/icons/navigation/continue-left.c"
+#include "displayapp/icons/navigation/continue-right.c"
+#include "displayapp/icons/navigation/continue-slight-left.c"
+#include "displayapp/icons/navigation/continue-slight-right.c"
+#include "displayapp/icons/navigation/continue-straight.c"
+#include "displayapp/icons/navigation/continue-uturn.c"
+#include "displayapp/icons/navigation/continue.c"
+#include "displayapp/icons/navigation/depart-left.c"
+#include "displayapp/icons/navigation/depart-right.c"
+#include "displayapp/icons/navigation/depart-straight.c"
+#include "displayapp/icons/navigation/end-of-road-left.c"
+#include "displayapp/icons/navigation/end-of-road-right.c"
+#include "displayapp/icons/navigation/ferry.c"
+#include "displayapp/icons/navigation/flag.c"
+#include "displayapp/icons/navigation/fork-left.c"
+#include "displayapp/icons/navigation/fork-right.c"
+#include "displayapp/icons/navigation/fork-slight-left.c"
+#include "displayapp/icons/navigation/fork-slight-right.c"
+#include "displayapp/icons/navigation/fork-straight.c"
+#include "displayapp/icons/navigation/invalid.c"
+#include "displayapp/icons/navigation/invalid-left.c"
+#include "displayapp/icons/navigation/invalid-right.c"
+#include "displayapp/icons/navigation/invalid-slight-left.c"
+#include "displayapp/icons/navigation/invalid-slight-right.c"
+#include "displayapp/icons/navigation/invalid-straight.c"
+#include "displayapp/icons/navigation/invalid-uturn.c"
+#include "displayapp/icons/navigation/merge-left.c"
+#include "displayapp/icons/navigation/merge-right.c"
+#include "displayapp/icons/navigation/merge-slight-left.c"
+#include "displayapp/icons/navigation/merge-slight-right.c"
+#include "displayapp/icons/navigation/merge-straight.c"
+#include "displayapp/icons/navigation/new-name-left.c"
+#include "displayapp/icons/navigation/new-name-right.c"
+#include "displayapp/icons/navigation/new-name-sharp-left.c"
+#include "displayapp/icons/navigation/new-name-sharp-right.c"
+#include "displayapp/icons/navigation/new-name-slight-left.c"
+#include "displayapp/icons/navigation/new-name-slight-right.c"
+#include "displayapp/icons/navigation/new-name-straight.c"
+#include "displayapp/icons/navigation/notification-left.c"
+#include "displayapp/icons/navigation/notification-right.c"
+#include "displayapp/icons/navigation/notification-sharp-left.c"
+#include "displayapp/icons/navigation/notification-sharp-right.c"
+#include "displayapp/icons/navigation/notification-slight-left.c"
+#include "displayapp/icons/navigation/notification-slight-right.c"
+#include "displayapp/icons/navigation/notification-straight.c"
+#include "displayapp/icons/navigation/off-ramp-left.c"
+#include "displayapp/icons/navigation/off-ramp-right.c"
+#include "displayapp/icons/navigation/off-ramp-slight-left.c"
+#include "displayapp/icons/navigation/off-ramp-slight-right.c"
+#include "displayapp/icons/navigation/on-ramp-left.c"
+#include "displayapp/icons/navigation/on-ramp-right.c"
+#include "displayapp/icons/navigation/on-ramp-sharp-left.c"
+#include "displayapp/icons/navigation/on-ramp-sharp-right.c"
+#include "displayapp/icons/navigation/on-ramp-slight-left.c"
+#include "displayapp/icons/navigation/on-ramp-slight-right.c"
+#include "displayapp/icons/navigation/on-ramp-straight.c"
+#include "displayapp/icons/navigation/rotary.c"
+#include "displayapp/icons/navigation/rotary-left.c"
+#include "displayapp/icons/navigation/rotary-right.c"
+#include "displayapp/icons/navigation/rotary-sharp-left.c"
+#include "displayapp/icons/navigation/rotary-sharp-right.c"
+#include "displayapp/icons/navigation/rotary-slight-left.c"
+#include "displayapp/icons/navigation/rotary-slight-right.c"
+#include "displayapp/icons/navigation/rotary-straight.c"
+#include "displayapp/icons/navigation/roundabout.c"
+#include "displayapp/icons/navigation/roundabout-left.c"
+#include "displayapp/icons/navigation/roundabout-right.c"
+#include "displayapp/icons/navigation/roundabout-sharp-left.c"
+#include "displayapp/icons/navigation/roundabout-sharp-right.c"
+#include "displayapp/icons/navigation/roundabout-slight-left.c"
+#include "displayapp/icons/navigation/roundabout-slight-right.c"
+#include "displayapp/icons/navigation/roundabout-straight.c"
+#include "displayapp/icons/navigation/turn-left.c"
+#include "displayapp/icons/navigation/turn-right.c"
+#include "displayapp/icons/navigation/turn-sharp-left.c"
+#include "displayapp/icons/navigation/turn-sharp-right.c"
+#include "displayapp/icons/navigation/turn-slight-left.c"
+#include "displayapp/icons/navigation/turn-slight-right.c"
+#include "displayapp/icons/navigation/turn-straight.c"
+#include "displayapp/icons/navigation/updown.c"
+#include "displayapp/icons/navigation/uturn.c"
+
+namespace Pinetime {
+ namespace Controllers {
+ class NavigationService;
+ }
+
+ namespace Applications {
+ namespace Screens {
+ class Navigation : public Screen {
+ public:
+ Navigation(DisplayApp *app, Pinetime::Controllers::NavigationService &nav);
+ ~Navigation() override;
+
+ bool Refresh() override;
+ bool OnButtonPushed() override;
+
+ private:
+
+ lv_obj_t *imgFlag;
+ lv_obj_t *txtNarrative;
+ lv_obj_t *txtManDist;
+ lv_obj_t *barProgress;
+
+ Pinetime::Controllers::NavigationService &navService;
+
+ std::string m_flag;
+ std::string m_narrative;
+ std::string m_manDist;
+ int m_progress;
+
+ /** Watchapp */
+ bool running = true;
+
+ const lv_img_dsc_t* iconForName(std::string icon);
+
+ std::array<std::pair<std::string, const lv_img_dsc_t*>, 89 > m_iconMap = { {
+ {"arrive-left", &arrive_left},
+ {"arrive-right", &arrive_right},
+ {"arrive-straight", &arrive_straight},
+ {"arrive", &arrive},
+ {"close", &close},
+ {"continue-left", &continue_left},
+ {"continue-right", &continue_right},
+ {"continue-slight-left", &continue_slight_left},
+ {"continue-slight-right", &continue_slight_right},
+ {"continue-straight", &continue_straight},
+ {"continue-uturn", &continue_uturn},
+ {"continue", &continue_icon},
+ {"depart-left", &depart_left},
+ {"depart-right", &depart_right},
+ {"depart-straight", &depart_straight},
+ {"end-of-road-left", &end_of_road_left},
+ {"end-of-road-right", &end_of_road_right},
+ {"ferry", &ferry},
+ {"flag", &flag},
+ {"fork-left", &fork_left},
+ {"fork-right", &fork_right},
+ {"fork-slight-left", &fork_slight_left},
+ {"fork-slight-right", &fork_slight_right},
+ {"fork-straight", &fork_straight},
+ {"invalid", &invalid},
+ {"invalid-left", &invalid_left},
+ {"invalid-right", &invalid_right},
+ {"invalid-slight-left", &invalid_slight_left},
+ {"invalid-slight-right", &invalid_slight_right},
+ {"invalid-straight", &invalid_straight},
+ {"invalid-uturn", &invalid_uturn},
+ {"merge-left", &merge_left},
+ {"merge-right", &merge_right},
+ {"merge-slight-left", &merge_slight_left},
+ {"merge-slight-right", &merge_slight_right},
+ {"merge-straight", &merge_straight},
+ {"new-name-left", &new_name_left},
+ {"new-name-right", &new_name_right},
+ {"new-name-sharp-left", &new_name_sharp_left},
+ {"new-name-sharp-right", &new_name_sharp_right},
+ {"new-name-slight-left", &new_name_slight_left},
+ {"new-name-slight-right", &new_name_slight_right},
+ {"new-name-straight", &new_name_straight},
+ {"notification-left", &notification_left},
+ {"notification-right", &notification_right},
+ {"notification-sharp-left", &notification_sharp_left},
+ {"notification-sharp-right", &notification_sharp_right},
+ {"notification-slight-left", &notification_slight_left},
+ {"notification-slight-right", &notification_slight_right},
+ {"notification-straight", &notification_straight},
+ {"off-ramp-left", &off_ramp_left},
+ {"off-ramp-right", &off_ramp_right},
+ {"off-ramp-slight-left", &off_ramp_slight_left},
+ {"off-ramp-slight-right", &off_ramp_slight_right},
+ {"on-ramp-left", &on_ramp_left},
+ {"on-ramp-right", &on_ramp_right},
+ {"on-ramp-sharp-left", &on_ramp_sharp_left},
+ {"on-ramp-sharp-right", &on_ramp_sharp_right},
+ {"on-ramp-slight-left", &on_ramp_slight_left},
+ {"on-ramp-slight-right", &on_ramp_slight_right},
+ {"on-ramp-straight", &on_ramp_straight},
+ {"rotary", &rotary},
+ {"rotary-left", &rotary_left},
+ {"rotary-right", &rotary_right},
+ {"rotary-sharp-left", &rotary_sharp_left},
+ {"rotary-sharp-right", &rotary_sharp_right},
+ {"rotary-slight-left", &rotary_slight_left},
+ {"rotary-slight-right", &rotary_slight_right},
+ {"rotary-straight", &rotary_straight},
+ {"roundabout", &roundabout},
+ {"roundabout-left", &roundabout_left},
+ {"roundabout-right", &roundabout_right},
+ {"roundabout-sharp-left", &roundabout_sharp_left},
+ {"roundabout-sharp-right", &roundabout_sharp_right},
+ {"roundabout-slight-left", &roundabout_slight_left},
+ {"roundabout-slight-right", &roundabout_slight_right},
+ {"roundabout-straight", &roundabout_straight},
+ {"turn-left", &turn_left},
+ {"turn-right", &turn_right},
+ {"turn-sharp-left", &turn_sharp_left},
+ {"turn-sharp-right", &turn_sharp_right},
+ {"turn-slight-left", &turn_slight_left},
+ {"turn-slight-right", &turn_slight_right},
+ {"turn-straight", &turn_straight},
+ {"updown", &updown},
+ {"uturn", &uturn} } };
+ };
+ }
+ }
+}
diff --git a/src/displayapp/screens/Symbols.h b/src/displayapp/screens/Symbols.h
index b66b5fa9..bd6a0f90 100644
--- a/src/displayapp/screens/Symbols.h
+++ b/src/displayapp/screens/Symbols.h
@@ -25,6 +25,7 @@ namespace Pinetime {
static constexpr const char* asterisk = "\xEF\x81\xA9";
static constexpr const char* paintbrush = "\xEF\x87\xBC";
static constexpr const char* paddle = "\xEF\x91\x9D";
+ static constexpr const char* map = "\xEF\x96\xa0";
}
}
}
diff --git a/src/drivers/Hrs3300.cpp b/src/drivers/Hrs3300.cpp
new file mode 100644
index 00000000..2aded7d3
--- /dev/null
+++ b/src/drivers/Hrs3300.cpp
@@ -0,0 +1,116 @@
+/*
+ SPDX-License-Identifier: LGPL-3.0-or-later
+ Original work Copyright (C) 2020 Daniel Thompson
+ C++ port Copyright (C) 2021 Jean-François Milants
+*/
+
+#include <algorithm>
+#include <nrf_gpio.h>
+#include "Hrs3300.h"
+
+#include <FreeRTOS.h>
+#include <task.h>
+#include <nrf_log.h>
+
+using namespace Pinetime::Drivers;
+/** Driver for the HRS3300 heart rate sensor.
+ * Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/drivers/hrs3300.py
+ */
+Hrs3300::Hrs3300(TwiMaster &twiMaster, uint8_t twiAddress) : twiMaster{twiMaster}, twiAddress{twiAddress} {
+
+}
+
+void Hrs3300::Init() {
+ nrf_gpio_cfg_input(30, NRF_GPIO_PIN_NOPULL);
+
+ Disable();
+ vTaskDelay(100);
+
+ // HRS disabled, 12.5 ms wait time between cycles, (partly) 20mA drive
+ WriteRegister(static_cast<uint8_t>(Registers::Enable), 0x60);
+
+ // (partly) 20mA drive, power on, "magic" (datasheet says both
+ // "reserved" and "set low nibble to 8" but 0xe gives better results
+ // and is used by at least two other HRS3300 drivers
+ WriteRegister(static_cast<uint8_t>(Registers::PDriver), 0x6E);
+
+ // HRS and ALS both in 16-bit mode
+ WriteRegister(static_cast<uint8_t>(Registers::Res), 0x88);
+
+ // 64x gain
+ WriteRegister(static_cast<uint8_t>(Registers::Hgain), 0x10);
+}
+
+void Hrs3300::Enable() {
+ NRF_LOG_INFO("ENABLE");
+ auto value = ReadRegister(static_cast<uint8_t>(Registers::Enable));
+ value |= 0x80;
+ WriteRegister(static_cast<uint8_t>(Registers::Enable), value);
+}
+
+void Hrs3300::Disable() {
+ NRF_LOG_INFO("DISABLE");
+ auto value = ReadRegister(static_cast<uint8_t>(Registers::Enable));
+ value &= ~0x80;
+ WriteRegister(static_cast<uint8_t>(Registers::Enable), value);
+}
+
+uint16_t Hrs3300::ReadHrs() {
+ auto m = ReadRegister(static_cast<uint8_t>(Registers::C0DataM));
+ auto h = ReadRegister(static_cast<uint8_t>(Registers::C0DataH));
+ auto l = ReadRegister(static_cast<uint8_t>(Registers::C0dataL));
+ return (m << 8) | ((h & 0x0f) << 4) | (l & 0x0f) | ((l & 0x30) << 12);
+}
+
+uint16_t Hrs3300::ReadAls() {
+ auto m = ReadRegister(static_cast<uint8_t>(Registers::C1dataM));
+ auto h = ReadRegister(static_cast<uint8_t>(Registers::C1dataH));
+ auto l = ReadRegister(static_cast<uint8_t>(Registers::C1dataL));
+ return (m << 3) | ((h & 0x3f) << 11) | (l & 0x07);
+}
+
+void Hrs3300::SetGain(uint8_t gain) {
+ static constexpr uint8_t maxGain = 64;
+ gain = std::min(gain, maxGain);
+ uint8_t hgain = 0;
+ while((1 << hgain) < gain)
+ hgain++;
+
+ WriteRegister(static_cast<uint8_t>(Registers::Hgain), hgain << 2);
+}
+
+void Hrs3300::SetDrive(uint8_t drive) {
+ auto en = ReadRegister(static_cast<uint8_t>(Registers::Enable));
+ auto pd = ReadRegister(static_cast<uint8_t>(Registers::PDriver));
+
+ en = (en & 0xf7) | ((drive & 2) << 2);
+ pd = (pd & 0xbf) | ((drive & 1) << 6);
+
+ WriteRegister(static_cast<uint8_t>(Registers::Enable), en);
+ WriteRegister(static_cast<uint8_t>(Registers::PDriver), pd);
+}
+
+void Hrs3300::WriteRegister(uint8_t reg, uint8_t data) {
+ auto ret = twiMaster.Write(twiAddress, reg, &data, 1);
+ if(ret != TwiMaster::ErrorCodes::NoError)
+ NRF_LOG_INFO("WRITE ERROR");
+}
+
+uint8_t Hrs3300::ReadRegister(uint8_t reg) {
+ uint8_t value;
+ auto ret = twiMaster.Read(twiAddress, reg, &value, 1);
+ if(ret != TwiMaster::ErrorCodes::NoError)
+ NRF_LOG_INFO("READ ERROR");
+ return value;
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/drivers/Hrs3300.h b/src/drivers/Hrs3300.h
new file mode 100644
index 00000000..c34d55c6
--- /dev/null
+++ b/src/drivers/Hrs3300.h
@@ -0,0 +1,47 @@
+#pragma once
+
+#include "TwiMaster.h"
+
+namespace Pinetime {
+ namespace Drivers {
+ class Hrs3300 {
+ public:
+ enum class Registers : uint8_t {
+ Id = 0x00,
+ Enable = 0x01,
+ EnableHen = 0x80,
+ C1dataM = 0x08,
+ C0DataM = 0x09,
+ C0DataH = 0x0a,
+ PDriver = 0x0c,
+ C1dataH = 0x0d,
+ C1dataL = 0x0e,
+ C0dataL = 0x0f,
+ Res = 0x16,
+ Hgain = 0x17
+ };
+
+ Hrs3300(TwiMaster& twiMaster, uint8_t twiAddress);
+ Hrs3300(const Hrs3300&) = delete;
+ Hrs3300& operator=(const Hrs3300&) = delete;
+ Hrs3300(Hrs3300&&) = delete;
+ Hrs3300& operator=(Hrs3300&&) = delete;
+
+ void Init();
+ void Enable();
+ void Disable();
+ uint16_t ReadHrs();
+ uint16_t ReadAls();
+ void SetGain(uint8_t gain);
+ void SetDrive(uint8_t drive);
+
+ private:
+ TwiMaster& twiMaster;
+ uint8_t twiAddress;
+
+ void WriteRegister(uint8_t reg, uint8_t data);
+ uint8_t ReadRegister(uint8_t reg);
+
+ };
+ }
+}
diff --git a/src/heartratetask/HeartRateTask.cpp b/src/heartratetask/HeartRateTask.cpp
new file mode 100644
index 00000000..5a6d2a5e
--- /dev/null
+++ b/src/heartratetask/HeartRateTask.cpp
@@ -0,0 +1,97 @@
+#include "HeartRateTask.h"
+#include <drivers/Hrs3300.h>
+#include <components/heartrate/HeartRateController.h>
+#include <nrf_log.h>
+
+using namespace Pinetime::Applications;
+
+HeartRateTask::HeartRateTask(Drivers::Hrs3300 &heartRateSensor, Controllers::HeartRateController& controller) :
+ heartRateSensor{heartRateSensor},
+ controller{controller},
+ ppg{static_cast<float>(heartRateSensor.ReadHrs())} {
+ messageQueue = xQueueCreate(10, 1);
+ controller.SetHeartRateTask(this);
+}
+
+void HeartRateTask::Start() {
+ if (pdPASS != xTaskCreate(HeartRateTask::Process, "Heartrate", 500, this, 0, &taskHandle))
+ APP_ERROR_HANDLER(NRF_ERROR_NO_MEM);
+}
+
+void HeartRateTask::Process(void *instance) {
+ auto *app = static_cast<HeartRateTask *>(instance);
+ app->Work();
+}
+
+void HeartRateTask::Work() {
+ int lastBpm = 0;
+ while (true) {
+ Messages msg;
+ uint32_t delay;
+ if (state == States::Running) {
+ if (measurementStarted) delay = 40;
+ else delay = 100;
+ } else
+ delay = portMAX_DELAY;
+
+ if (xQueueReceive(messageQueue, &msg, delay)) {
+ switch (msg) {
+ case Messages::GoToSleep:
+ StopMeasurement();
+ state = States::Idle;
+ break;
+ case Messages::WakeUp:
+ state = States::Running;
+ if(measurementStarted) {
+ lastBpm = 0;
+ StartMeasurement();
+ }
+ break;
+ case Messages::StartMeasurement:
+ if(measurementStarted) break;
+ lastBpm = 0;
+ StartMeasurement();
+ measurementStarted = true;
+ break;
+ case Messages::StopMeasurement:
+ if(!measurementStarted) break;
+ StopMeasurement();
+ measurementStarted = false;
+ break;
+ }
+ }
+
+ if (measurementStarted) {
+ auto hrs = heartRateSensor.ReadHrs();
+ ppg.Preprocess(hrs);
+ auto bpm = ppg.HeartRate();
+
+ if (lastBpm == 0 && bpm == 0) controller.Update(Controllers::HeartRateController::States::NotEnoughData, 0);
+ if(bpm != 0) {
+ lastBpm = bpm;
+ controller.Update(Controllers::HeartRateController::States::Running, lastBpm);
+ }
+ }
+ }
+}
+
+void HeartRateTask::PushMessage(HeartRateTask::Messages msg) {
+ BaseType_t xHigherPriorityTaskWoken;
+ xHigherPriorityTaskWoken = pdFALSE;
+ xQueueSendFromISR(messageQueue, &msg, &xHigherPriorityTaskWoken);
+ if (xHigherPriorityTaskWoken) {
+ /* Actual macro used here is port specific. */
+ // TODO : should I do something here?
+ }
+}
+
+void HeartRateTask::StartMeasurement() {
+ heartRateSensor.Enable();
+ vTaskDelay(100);
+ ppg.SetOffset(static_cast<float>(heartRateSensor.ReadHrs()));
+}
+
+void HeartRateTask::StopMeasurement() {
+ heartRateSensor.Disable();
+ vTaskDelay(100);
+}
diff --git a/src/heartratetask/HeartRateTask.h b/src/heartratetask/HeartRateTask.h
new file mode 100644
index 00000000..f142af1a
--- /dev/null
+++ b/src/heartratetask/HeartRateTask.h
@@ -0,0 +1,43 @@
+#pragma once
+#include <FreeRTOS.h>
+#include <task.h>
+#include <queue.h>
+#include <components/heartrate/Ppg.h>
+
+
+namespace Pinetime {
+ namespace Drivers {
+ class Hrs3300;
+ }
+ namespace Controllers{
+ class HeartRateController;
+ }
+ namespace Applications {
+ class HeartRateTask {
+ public:
+ enum class Messages : uint8_t {GoToSleep, WakeUp, StartMeasurement, StopMeasurement };
+ enum class States {Idle, Running};
+
+ explicit HeartRateTask(Drivers::Hrs3300& heartRateSensor, Controllers::HeartRateController& controller);
+ void Start();
+ void Work();
+ void PushMessage(Messages msg);
+
+ private:
+ static void Process(void* instance);
+ void StartMeasurement();
+ void StopMeasurement();
+
+ TaskHandle_t taskHandle;
+ QueueHandle_t messageQueue;
+ States state = States::Running;
+ Drivers::Hrs3300 &heartRateSensor;
+ Controllers::HeartRateController& controller;
+ Controllers::Ppg ppg;
+ bool measurementStarted = false;
+
+ };
+
+ }
+}
+
diff --git a/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch b/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch
new file mode 100644
index 00000000..7b4c204a
--- /dev/null
+++ b/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch
@@ -0,0 +1,51 @@
+Index: src/libs/lvgl/src/lv_misc/lv_anim.c
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.c b/src/libs/lvgl/src/lv_misc/lv_anim.c
+--- a/src/libs/lvgl/src/lv_misc/lv_anim.c (revision 12a3b6cc8ec1fd6b951c353ab3a5fbbb9934fdd4)
++++ b/src/libs/lvgl/src/lv_misc/lv_anim.c (date 1610901672072)
+@@ -158,12 +158,12 @@
+ * @param end end value of the animation
+ * @return the required time [ms] for the animation with the given parameters
+ */
+-uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end)
++uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end)
+ {
+ int32_t d = LV_MATH_ABS((int32_t)start - end);
+ uint32_t time = (int32_t)((int32_t)(d * 1000) / speed);
+
+- if(time > UINT16_MAX) time = UINT16_MAX;
++ if(time > UINT32_MAX) time = UINT32_MAX;
+
+ if(time == 0) {
+ time++;
+Index: src/libs/lvgl/src/lv_misc/lv_anim.h
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.h b/src/libs/lvgl/src/lv_misc/lv_anim.h
+--- a/src/libs/lvgl/src/lv_misc/lv_anim.h (revision 12a3b6cc8ec1fd6b951c353ab3a5fbbb9934fdd4)
++++ b/src/libs/lvgl/src/lv_misc/lv_anim.h (date 1610901672076)
+@@ -73,8 +73,8 @@
+ lv_anim_ready_cb_t ready_cb; /**< Call it when the animation is ready*/
+ int32_t start; /**< Start value*/
+ int32_t end; /**< End value*/
+- uint16_t time; /**< Animation time in ms*/
+- int16_t act_time; /**< Current time in animation. Set to negative to make delay.*/
++ uint32_t time; /**< Animation time in ms*/
++ int32_t act_time; /**< Current time in animation. Set to negative to make delay.*/
+ uint16_t playback_pause; /**< Wait before play back*/
+ uint16_t repeat_pause; /**< Wait before repeat*/
+ #if LV_USE_USER_DATA
+@@ -266,7 +266,7 @@
+ * @param end end value of the animation
+ * @return the required time [ms] for the animation with the given parameters
+ */
+-uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end);
++uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end);
+
+ /**
+ * Calculate the current value of an animation applying linear characteristic
diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.c b/src/libs/lvgl/src/lv_misc/lv_anim.c
index 790dfc77..77bd87b9 100644
--- a/src/libs/lvgl/src/lv_misc/lv_anim.c
+++ b/src/libs/lvgl/src/lv_misc/lv_anim.c
@@ -158,12 +158,12 @@ uint16_t lv_anim_count_running(void)
* @param end end value of the animation
* @return the required time [ms] for the animation with the given parameters
*/
-uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end)
+uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end)
{
int32_t d = LV_MATH_ABS((int32_t)start - end);
uint32_t time = (int32_t)((int32_t)(d * 1000) / speed);
- if(time > UINT16_MAX) time = UINT16_MAX;
+ if(time > UINT32_MAX) time = UINT32_MAX;
if(time == 0) {
time++;
diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.h b/src/libs/lvgl/src/lv_misc/lv_anim.h
index 36cc35ad..b43035aa 100644
--- a/src/libs/lvgl/src/lv_misc/lv_anim.h
+++ b/src/libs/lvgl/src/lv_misc/lv_anim.h
@@ -73,8 +73,8 @@ typedef struct _lv_anim_t
lv_anim_ready_cb_t ready_cb; /**< Call it when the animation is ready*/
int32_t start; /**< Start value*/
int32_t end; /**< End value*/
- uint16_t time; /**< Animation time in ms*/
- int16_t act_time; /**< Current time in animation. Set to negative to make delay.*/
+ uint32_t time; /**< Animation time in ms*/
+ int32_t act_time; /**< Current time in animation. Set to negative to make delay.*/
uint16_t playback_pause; /**< Wait before play back*/
uint16_t repeat_pause; /**< Wait before repeat*/
#if LV_USE_USER_DATA
@@ -266,7 +266,7 @@ uint16_t lv_anim_count_running(void);
* @param end end value of the animation
* @return the required time [ms] for the animation with the given parameters
*/
-uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end);
+uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end);
/**
* Calculate the current value of an animation applying linear characteristic
diff --git a/src/main.cpp b/src/main.cpp
index 35057045..3b993ee9 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -25,6 +25,7 @@
#include <FreeRTOS.h>
#include <task.h>
#include <timers.h>
+#include <drivers/Hrs3300.h>
#include "components/battery/BatteryController.h"
#include "components/ble/BleController.h"
@@ -57,6 +58,7 @@ static constexpr uint8_t pinLcdDataCommand = 18;
static constexpr uint8_t pinTwiScl = 7;
static constexpr uint8_t pinTwiSda = 6;
static constexpr uint8_t touchPanelTwiAddress = 0x15;
+static constexpr uint8_t heartRateSensorTwiAddress = 0x44;
Pinetime::Drivers::SpiMaster spi{Pinetime::Drivers::SpiMaster::SpiModule::SPI0, {
Pinetime::Drivers::SpiMaster::BitOrder::Msb_Lsb,
@@ -84,6 +86,8 @@ Pinetime::Drivers::TwiMaster twiMaster{Pinetime::Drivers::TwiMaster::Modules::TW
Pinetime::Drivers::Cst816S touchPanel {twiMaster, touchPanelTwiAddress};
Pinetime::Components::LittleVgl lvgl {lcd, touchPanel};
+Pinetime::Drivers::Hrs3300 heartRateSensor {twiMaster, heartRateSensorTwiAddress};
+
TimerHandle_t debounceTimer;
Pinetime::Controllers::Battery batteryController;
@@ -237,7 +241,7 @@ int main(void) {
debounceTimer = xTimerCreate ("debounceTimer", 200, pdFALSE, (void *) 0, DebounceTimerCallback);
systemTask.reset(new Pinetime::System::SystemTask(spi, lcd, spiNorFlash, twiMaster, touchPanel, lvgl, batteryController, bleController,
- dateTimeController, notificationManager));
+ dateTimeController, notificationManager, heartRateSensor));
systemTask->Start();
nimble_port_init();
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 9cd2f5e9..13a84c26 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -21,6 +21,7 @@
#include "drivers/SpiMaster.h"
#include "drivers/SpiNorFlash.h"
#include "drivers/TwiMaster.h"
+#include "drivers/Hrs3300.h"
#include "main.h"
using namespace Pinetime::System;
@@ -39,12 +40,15 @@ SystemTask::SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd,
Components::LittleVgl &lvgl,
Controllers::Battery &batteryController, Controllers::Ble &bleController,
Controllers::DateTime &dateTimeController,
- Pinetime::Controllers::NotificationManager& notificationManager) :
+ Pinetime::Controllers::NotificationManager& notificationManager,
+ Pinetime::Drivers::Hrs3300& heartRateSensor) :
spi{spi}, lcd{lcd}, spiNorFlash{spiNorFlash},
twiMaster{twiMaster}, touchPanel{touchPanel}, lvgl{lvgl}, batteryController{batteryController},
+ heartRateController{*this},
bleController{bleController}, dateTimeController{dateTimeController},
watchdog{}, watchdogView{watchdog}, notificationManager{notificationManager},
- nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash) {
+ heartRateSensor{heartRateSensor},
+ nimbleController(*this, bleController,dateTimeController, notificationManager, batteryController, spiNorFlash, heartRateController) {
systemTasksMsgQueue = xQueueCreate(10, 1);
}
@@ -77,12 +81,19 @@ void SystemTask::Work() {
batteryController.Init();
displayApp.reset(new Pinetime::Applications::DisplayApp(lcd, lvgl, touchPanel, batteryController, bleController,
- dateTimeController, watchdogView, *this, notificationManager));
+ dateTimeController, watchdogView, *this, notificationManager, heartRateController));
displayApp->Start();
batteryController.Update();
displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::UpdateBatteryLevel);
+
+ heartRateSensor.Init();
+ heartRateSensor.Disable();
+ heartRateApp.reset(new Pinetime::Applications::HeartRateTask(heartRateSensor, heartRateController));
+ heartRateApp->Start();
+
+
nrf_gpio_cfg_sense_input(pinButton, (nrf_gpio_pin_pull_t)GPIO_PIN_CNF_PULL_Pulldown, (nrf_gpio_pin_sense_t)GPIO_PIN_CNF_SENSE_High);
nrf_gpio_cfg_output(15);
nrf_gpio_pin_set(15);
@@ -130,6 +141,7 @@ void SystemTask::Work() {
displayApp->PushMessage(Applications::DisplayApp::Messages::GoToRunning);
displayApp->PushMessage(Applications::DisplayApp::Messages::UpdateBatteryLevel);
+ heartRateApp->PushMessage(Pinetime::Applications::HeartRateTask::Messages::WakeUp);
isSleeping = false;
isWakingUp = false;
@@ -139,6 +151,7 @@ void SystemTask::Work() {
NRF_LOG_INFO("[systemtask] Going to sleep");
xTimerStop(idleTimer, 0);
displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::GoToSleep);
+ heartRateApp->PushMessage(Pinetime::Applications::HeartRateTask::Messages::GoToSleep);
break;
case Messages::OnNewTime:
ReloadIdleTimer();
diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h
index fe6e7cbe..cf3f1021 100644
--- a/src/systemtask/SystemTask.h
+++ b/src/systemtask/SystemTask.h
@@ -5,6 +5,8 @@
#include <FreeRTOS.h>
#include <task.h>
#include <timers.h>
+#include <heartratetask/HeartRateTask.h>
+#include <components/heartrate/HeartRateController.h>
#include "SystemMonitor.h"
#include "components/battery/BatteryController.h"
@@ -20,6 +22,7 @@ namespace Pinetime {
class SpiNorFlash;
class St7789;
class TwiMaster;
+ class Hrs3300;
}
namespace System {
class SystemTask {
@@ -34,7 +37,8 @@ namespace Pinetime {
Components::LittleVgl &lvgl,
Controllers::Battery &batteryController, Controllers::Ble &bleController,
Controllers::DateTime &dateTimeController,
- Pinetime::Controllers::NotificationManager& manager);
+ Pinetime::Controllers::NotificationManager& manager,
+ Pinetime::Drivers::Hrs3300& heartRateSensor);
void Start();
@@ -58,6 +62,9 @@ namespace Pinetime {
Pinetime::Components::LittleVgl& lvgl;
Pinetime::Controllers::Battery& batteryController;
std::unique_ptr<Pinetime::Applications::DisplayApp> displayApp;
+ Pinetime::Controllers::HeartRateController heartRateController;
+ std::unique_ptr<Pinetime::Applications::HeartRateTask> heartRateApp;
+
Pinetime::Controllers::Ble& bleController;
Pinetime::Controllers::DateTime& dateTimeController;
QueueHandle_t systemTasksMsgQueue;
@@ -67,9 +74,9 @@ namespace Pinetime {
Pinetime::Drivers::Watchdog watchdog;
Pinetime::Drivers::WatchdogView watchdogView;
Pinetime::Controllers::NotificationManager& notificationManager;
+ Pinetime::Drivers::Hrs3300& heartRateSensor;
Pinetime::Controllers::NimbleController nimbleController;
-
static constexpr uint8_t pinSpiSck = 2;
static constexpr uint8_t pinSpiMosi = 3;
static constexpr uint8_t pinSpiMiso = 4;