Module Rpi.Mbox

module Mbox: sig .. end

Mailbox allow to connect with the RPi's GPU which is in charge of a lot the bookkeeping.

This is not very well documented, a bit of documentation can be found here. Using the property interface should be enough.

Property interface

module Prop: sig .. end
Property interface


type channel = 
| Power_management
| Framebuffer
| Virtual_UART
| LEDs
| Buttons
| Touchscreen
| Unused
| Tags_ARM_to_VC
| Tags_VC_to_ARM
The type for mailbox channels

Communicating addresses

Warning The lowest 4-bits of sent addresses can't be read by the GPU as they are used to transmit the channel. used. As such addresses must be aligned on 16 bytes.

val read : channel -> Rpi.Mem.addr
read c reads the address of channel c.
val write : channel -> Rpi.Mem.addr -> unit
write c a writes the v to the channel c.