Skip to content

Known Memory Addresses

D3VL Jack edited this page Sep 28, 2022 · 7 revisions

Get the current TX power (RO)

0x10C6E3CA

⚠️ Airunits only

Get the current transmit power

busybox devmem 0x10C6E3CA 8
# -> (25mW) 0x30, 0xA0, 0xC0, 0xD0, 0XD8, 0xE0 (1200mW)

Check if in AV-IN mode (RO)

0x10E2AF14

⚠️ Goggles Only

busybox devmem 0x10E2AF14 8
# -> (false) 0x00, 0x01 (true)

Disable AV-IN resizing

0xFFFC10FB

⚠️ Goggles Only

When using AV-IN, if the goggles lose sync in PAL, the ADV CSI output resizes. This disables the Goggles trying to Autodetect the input size.

busybox devmem 0xfffc10fb 8 0x00

AV-IN ADV7280 I2C Table

0x1020F428

⚠️ Goggles Only

You can write to the I2C register of the Analog In ADV7280, there's a 3 byte 0 terminated table at address 0x1020F428, you first need to enumerate over all the current values until you hit a 0x00, you can append values from there

Code Example
memloc_map=270595112 # 0x1020f428
memloc_address=270595116 # 0x1020f42c
memloc_value=270595120 # 0x1020f430

map_main=0x21
map_vpp=0x42
map_csi=0x44

found_end_of_table=0

while [ $found_end_of_table -eq 0 ]; do
    if [ $(busybox devmem $memloc_map 8) == "0x00" ]; then
        found_end_of_table=1
    else
        memloc_map=$(($memloc_map + 12))
        memloc_address=$(($memloc_address + 12))
        memloc_value=$(($memloc_value + 12))
    fi
done

function writeToRegister {
    map=$1
    address=$2
    value=$3

    busybox devmem $memloc_map 8 $map && 
    busybox devmem $memloc_address 8 $address && 
    busybox devmem $memloc_value 8 $value

    # if the write was successful, and we're not at the end of the table, move the pointers
    if [ $map != "0x00" ]; then
        memloc_map=$(($memloc_map + 12))
        memloc_address=$(($memloc_address + 12))
        memloc_value=$(($memloc_value + 12))
    fi
}

Once the end of the table has been found you can use the function writeToRegister to append values to the table

writeToRegister $map_main 0xC0 0x00

More information can be found on the Datasheet. See page 70 onward for values

ADV7280.pdf

A complete solution using the above code can be found [here]

Goggle Pairing ID

0x0B52A004

Get the unique Pairing ID of your goggles

busybox devmem 0x0B52A004 32
# -> 0x11223344

Airunit Pairing ID

0x0B52A00C

Get the unique Pairing ID of the connected Airunit

busybox devmem 0x0B52A00C 32
# -> 0x11223344