Skip to content

Instantly share code, notes, and snippets.

@Intyre
Intyre / 1. Wahoo Rival Firmware.md
Last active February 14, 2024 21:34
Wahoo Rival Firmware

Wahoo Rival Firmware

fw.rom

Structure of the header

Found some old linkit sdk with the FOTA_MAGIC_HEADER on github.com.

File header

Size Type Info

BoltApp Version=16764 Profile=STD

Name ELEMNT BOLT MINI RIVAL ROAM BOLT_2 ROAM_1_1 ROAM_2 ACE
MAP_ROTATE True True True True True True True
SWITCH_TO_WIFI True True True True True True True
SEGMENTS True True True True True True True
REMOTE_UPGRADE True True True True True True True True
LED_PWR_ZONE True True True True True True True True
NEW_FIELDS_1_5 True True True True True True True True True
@Intyre
Intyre / Wahoo_20min_FTP.v1.plan
Created December 21, 2023 18:10
Wahoo workout .plan files
=HEADER=
# Provider: WAHOO
NAME=20 Minute FTP Test
# Duration: 65 mins
DURATION=3900
# PLAN_TYPE=STRUCTURED_WORKOUT_FTP_TEST
PLAN_TYPE=1
@Intyre
Intyre / 1.md
Last active August 3, 2023 11:34
Wahoo: bolt.cfg and comp.cfg reader from files in elemnt_config.zip
@Intyre
Intyre / README.md
Last active May 9, 2024 08:52
Wahoo VTM Rendering theme

Wahoo VTM Map rendering

The Bolt2 uses the VTM rendering by default.

On the Other devices you can enable it by creating a file on the device with the name "cfg_BHomeActivity_VtmMaps" it will use the new rendering method. Another file with the name "cfg_MapPanZoom" enables panning and zooming on the map.

Custom themes

Create a new file in "maps/vtm-elemnt" with the name "vtm-elemnt.xml". You can copy the latest theme from https://gist.github.com/Intyre/7494d5c6c86b5bc60ce4d03b9cfce2df

@Intyre
Intyre / mapsforge-bolt.xml
Last active July 21, 2021 15:41
Mapsforge themes Wahoo
<?xml version="1.0" encoding="UTF-8"?>
<rendertheme xmlns="http://mapsforge.org/renderTheme" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="renderTheme-v4.xsd" version="4" map-background="#FFFFFF" map-background-outside="#FFFFFF">
<!-- render land above water -->
<rule e="way" k="natural" v="sea">
<area src="assets:assets/patterns/halftone2.webp"/>
</rule>
<rule e="way" k="natural" v="nosea" >
<area fill="#FFFFFF"/>
@Intyre
Intyre / 1 - wahoo-create-maps.md
Last active September 22, 2024 12:50
Wahoo create maps

Wahoo map creation

Tools

  • Java
    • set JAVACMD_OPTIONS="-Xmx2g" or other memory size when osmosis starts to complain.
  • [osmium][12] for filtering and splitting .pbf files
  • [osmosis][1] for splitting .pbf and creating .map files
    • [mapsforge-map-writer][9] plugin for osmosis to create .map files
  • [osmfilter][2] for filtering pois and ways
  • [osmconvert][3] for converting .pbf and .o5m files
@Intyre
Intyre / Wahoo_Elemnt.md
Last active February 18, 2025 02:04
Wahoo Elemnt - Tips, tricks and custom images

/Users/Intyre/.pythonenv/frida/bin/python /Users/Intyre/git/github.com/Intyre/corsair-firmware-reversing/markdown.py

Memory mappings

Name Start End
[128 kB on-chip flash] 0x0000 0000 0x0002 0000
[reserved] 0x0002 0000 0x1000 0000
[8 kB SRAM0] 0x1000 0000 0x1002 0000
[reserved] 0x1002 0000 0x1FFF 0000
[16 kB boot ROM] 0x1FFF 0000 0x1FFF 4000