Unit PlatformRPi3

From Ultibo.org
Revision as of 05:08, 3 April 2017 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Platform interface unit for Raspberry Pi 3

The RPi3 B has the Activity LED connected to the GPU, access is via a Virtual GPIO (Power LED appears to be unavailable).

Constants



[Expand]
RPi3 ARM physical to VC IO mapping RPI3_VCIO_*


[Expand]
RPi3 ARM physical to VC bus mapping RPI3_VCBUS_*


[Expand]
RPi3 secure world boot RPI3_SECURE_*


[Expand]
RPi3 address of StartupHandler on reset RPI3_STARTUP_*


[Expand]
RPi3 page table address and size RPI3_PAGE_TABLE_*


[Expand]
RPi3 vector table address and size RPI3_VECTOR_TABLE_*


[Expand]
RPi3 CPU count RPI3_CPU_*


[Expand]
RPi3 IRQ/FIQ start/routing RPI3_IRQ_*, RPI3_FIQ_*


[Expand]
RPi3 SWI RPI3_SWI_*


[Expand]
RPi3 core timer prescaler RPI3_*_TIMER_*


[Expand]
RPi3 kernel image name RPI3_KERNEL_*


[Expand]
RPi3 mailbox RPI3_MAILBOX_*


[Expand]
RPi3 local mailbox RPI3_LOCAL_MAILBOX_*


Type definitions


None defined

Public variables



RPi3 specific Ultibo variables

RPi3Initialized:Boolean;
RPi3CNTVOFFLow:LongWord = 0; The low 32 bits of the Virtual Counter Offset register at boot time (CPU0 only) (Set by Startup). Must be initialized to remain in .data or else rewritten to zero with .bss
RPi3CNTVOFFHigh:LongWord = 0; The high 32 bits of the Virtual Counter Offset register at boot time (CPU0 only) (Set by Startup). Must be initialized to remain in .data or else rewritten to zero with .bss

Timer variables

TimerRegisters:PBCM2837SystemTimerRegisters;

Mailbox variables

Mailbox0Registers:PBCM2837Mailbox0Registers;

Interrupt variables

InterruptRegisters:PBCM2837InterruptRegisters;
InterruptEntries:array[0..(BCM2837_GPU_IRQ_COUNT + BCM2837_ARM_IRQ_COUNT - 1)] of TInterruptEntry;
LocalInterruptEntries:array[RPI3_IRQ_LOCAL_START..(BCM2837_IRQ_COUNT - 1),0..(RPI3_CPU_COUNT - 1)] of TInterruptEntry;

System call variables

SystemCallEntries:array[0..RPI3_SWI_COUNT - 1] of TSystemCallEntry;

IRQ/FIQ variables

IRQEnabled:array[0..2] of LongWord; 3 groups of IRQs to Enable/Disable (See: TBCM2837InterruptRegisters)
FIQEnabled:LongWord; The single IRQ number to Enable as FIQ instead (See: TBCM2837InterruptRegisters)
IRQLocalEnabled:array[0..(RPI3_CPU_COUNT - 1)] of LongWord; 1 group of local IRQs to Enable/Disable per CPU (See: TBCM2837ARMLocalRegisters)
FIQLocalEnabled:array[0..(RPI3_CPU_COUNT - 1)] of LongWord; 1 group of local FIQs to Enable/Disable per CPU (See: TBCM2837ARMLocalRegisters)

Watchdog variables

WatchdogRegisters:PBCM2837PMWatchdogRegisters;

ARM local variables

ARMLocalRegisters:PBCM2837ARMLocalRegisters;

Virtual GPIO variables

VirtualGPIOBuffer:TBCM2837VirtualGPIOBuffer;


Function declarations



Initialization functions

[Expand]
procedure RPi3Init;
Description: To be documented


[Expand]
procedure RPi3SecondarySwitch; assembler; nostackframe;
Description: Secondary CPU switch from HYP mode handler


[Expand]
procedure RPi3SecondarySecure; assembler; nostackframe;
Description: Secondary CPU switch to secure mode handler


[Expand]
procedure RPi3SecondaryHandler; assembler; nostackframe;
Description: Secondary CPU startup handler routine


RPi3 platform functions

[Expand]
procedure RPi3SMPInit;
Description: To be documented


[Expand]
procedure RPi3BoardInit;
Description: To be documented


[Expand]
procedure RPi3MemoryInit;
Description: To be documented


[Expand]
procedure RPi3ClockInit;
Description: To be documented


[Expand]
procedure RPi3PowerInit;
Description: To be documented


[Expand]
procedure RPi3MailboxInit;
Description: To be documented


[Expand]
procedure RPi3InterruptInit;
Description: To be documented


[Expand]
procedure RPi3PeripheralInit;
Description: To be documented


[Expand]
procedure RPi3FramebufferInit;
Description: To be documented


[Expand]
procedure RPi3PageTableInit;
Description: Initialize the Hardware Page Tables before enabling the MMU


[Expand]
procedure RPi3PowerLEDEnable;
Description: To be documented


[Expand]
procedure RPi3PowerLEDOn;
Description: To be documented


[Expand]
procedure RPi3PowerLEDOff;
Description: To be documented


[Expand]
procedure RPi3ActivityLEDEnable;
Description: To be documented


[Expand]
procedure RPi3ActivityLEDOn;
Description: To be documented


[Expand]
procedure RPi3ActivityLEDOff;
Description: To be documented


[Expand]
function RPi3MailboxReceive(Mailbox,Channel:LongWord):LongWord;
Description: Receive from specified mailbox on specified channel


[Expand]
procedure RPi3MailboxSend(Mailbox,Channel,Data:LongWord);
Description: Send to specified mailbox on specified channel


[Expand]
function RPi3MailboxCall(Mailbox,Channel,Data:LongWord; var Response:LongWord):LongWord;
Description: Perform a transaction (Send/Receive) to specified mailbox on specified channel


[Expand]
function RPi3MailboxCallEx(Mailbox,Channel,Data:LongWord; var Response:LongWord; Timeout:LongWord):LongWord;
Description: Perform a transaction (Send/Receive) to specified mailbox on specified channel


[Expand]
function RPi3MailboxPropertyCall(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord):LongWord;
Description: Perform a property tag transaction (Send/Receive) to specified mailbox on specified channel


[Expand]
function RPi3MailboxPropertyCallEx(Mailbox,Channel:LongWord; Data:Pointer; var Response:LongWord; Timeout:LongWord):LongWord;
Description: Perform a property tag transaction (Send/Receive) to specified mailbox on specified channel


[Expand]
function RPi3RequestExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request registration of the supplied handler to the specified IRQ number


[Expand]
function RPi3ReleaseExIRQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request deregistration of the supplied handler from the specified IRQ number


[Expand]
function RPi3RequestExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request registration of the supplied handler to the specified FIQ number


[Expand]
function RPi3ReleaseExFIQ(CPUID,Number:LongWord; Handler:TInterruptHandler; HandlerEx:TInterruptExHandler; Parameter:Pointer):LongWord;
Description: Request deregistration of the supplied handler from the specified FIQ number


[Expand]
function RPi3RegisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;
Description: Request registration of the supplied extended handler to the specified System Call number


[Expand]
function RPi3DeregisterSystemCallEx(CPUID,Number:LongWord; Handler:TSystemCallHandler; HandlerEx:TSystemCallExHandler):LongWord;
Description: Request deregistration of the supplied extended handler from the specified System Call number


[Expand]
function RPi3GetInterruptEntry(Number:LongWord):TInterruptEntry;
Description: Get the interrupt entry for the specified interrupt number


[Expand]
function RPi3GetLocalInterruptEntry(CPUID,Number:LongWord):TInterruptEntry;
Description: Get the local interrupt entry for the specified interrupt number


[Expand]
function RPi3GetSystemCallEntry(Number:LongWord):TSystemCallEntry;
Description: Get the system call entry for the specified system call number


[Expand]
function RPi3SystemRestart(Delay:LongWord):LongWord;
Description: To be documented


[Expand]
function RPi3SystemShutdown(Delay:LongWord):LongWord;
Description: To be documented


[Expand]
function RPi3SystemGetCommandLine:String;
Description: Get the Command Line from the Mailbox property tags channel


[Expand]
function RPi3CPUGetMemory(var Address:PtrUInt; var Length:LongWord):LongWord;
Description: Get the CPU Memory from the Mailbox property tags channel


[Expand]
function RPi3GPUGetState:LongWord;
Description: To be documented


[Expand]
function RPi3GPUGetMemory(var Address:PtrUInt; var Length:LongWord):LongWord;
Description: Get the GPU Memory from the Mailbox property tags channel


[Expand]
function RPi3BoardGetModel:LongWord;
Description: Get the Board Model from the Mailbox property tags channel


[Expand]
function RPi3BoardGetSerial:Int64;
Description: Get the Board Serial from the Mailbox property tags channel


[Expand]
function RPi3BoardGetRevision:LongWord;
Description: Get the Board Revision from the Mailbox property tags channel


[Expand]
function RPi3BoardGetMACAddress:String;
Description: Get the Board MAC Address from the Mailbox property tags channel


[Expand]
function RPi3FirmwareGetRevision:LongWord;
Description: Get the Firmware Revision from the Mailbox property tags channel


[Expand]
function RPi3PowerGetWait(PowerId:LongWord):LongWord;
Description: Get the Power Wait from the Mailbox property tags channel


[Expand]
function RPi3PowerGetState(PowerId:LongWord):LongWord;
Description: Get the Power State from the Mailbox property tags channel


[Expand]
function RPi3PowerSetState(PowerId,State:LongWord; Wait:Boolean):LongWord;
Description: Set the Power State in the Mailbox property tags channel


[Expand]
function RPi3ClockGetCount:LongWord;
Description: Gets the current system clock count (32 least significant bits of total)


[Expand]
function RPi3ClockGetTotal:Int64;
Description: Gets the total system clock count


[Expand]
function RPi3ClockGetRate(ClockId:LongWord):LongWord;
Description: Get the Clock Rate from the Mailbox property tags channel


[Expand]
function RPi3ClockSetRate(ClockId,Rate:LongWord; Turbo:Boolean):LongWord;
Description: Set the Clock Rate in the Mailbox property tags channel


[Expand]
function RPi3ClockGetState(ClockId:LongWord):LongWord;
Description: Get the Clock State from the Mailbox property tags channel


[Expand]
function RPi3ClockSetState(ClockId,State:LongWord):LongWord;
Description: Set the Clock State in the Mailbox property tags channel


[Expand]
function RPi3ClockGetMinRate(ClockId:LongWord):LongWord;
Description: Get the Clock Min Rate from the Mailbox property tags channel


[Expand]
function RPi3ClockGetMaxRate(ClockId:LongWord):LongWord;
Description: Get the Clock Max Rate from the Mailbox property tags channel


[Expand]
function RPi3TurboGetState(TurboId:LongWord):LongWord;
Description: Get the Turbo State from the Mailbox property tags channel


[Expand]
function RPi3TurboSetState(TurboId,State:LongWord):LongWord;
Description: Set the Turbo State in the Mailbox property tags channel


[Expand]
function RPi3VoltageGetValue(VoltageId:LongWord):LongWord;
Description: Get the Voltage Value from the Mailbox property tags channel


[Expand]
function RPi3VoltageSetValue(VoltageId,Value:LongWord):LongWord;
Description: Set the Voltage Value in the Mailbox property tags channel


[Expand]
function RPi3VoltageGetMinValue(VoltageId:LongWord):LongWord;
Description: Get the Voltage Min Value from the Mailbox property tags channel


[Expand]
function RPi3VoltageGetMaxValue(VoltageId:LongWord):LongWord;
Description: Get the Voltage Max Value from the Mailbox property tags channel


[Expand]
function RPi3TemperatureGetCurrent(TemperatureId:LongWord):LongWord;
Description: Get the Temperature Current from the Mailbox property tags channel


[Expand]
function RPi3TemperatureGetMaximum(TemperatureId:LongWord):LongWord;
Description: Get the Temperature Maximum Model from the Mailbox property tags channel


[Expand]
function RPi3GPUMemoryAllocate(Length,Alignment,Flags:LongWord):THandle;
Description: Allocate GPU Memory from the Mailbox property tags channel


[Expand]
function RPi3GPUMemoryRelease(Handle:THandle):LongWord;
Description: Release GPU Memory from the Mailbox property tags channel


[Expand]
function RPi3GPUMemoryLock(Handle:THandle):LongWord;
Description: Lock GPU Memory from the Mailbox property tags channel


[Expand]
function RPi3GPUMemoryUnlock(Handle:THandle):LongWord;
Description: Unlock GPU Memory from the Mailbox property tags channel


[Expand]
function RPi3GPUExecuteCode(Address:Pointer; R0,R1,R2,R3,R4,R5:LongWord):LongWord;
Description: Execute GPU Code from the Mailbox property tags channel


[Expand]
function RPi3DispmanxHandleGet(Resource:THandle):THandle;
Description: Get Dispmanx Memory Handle from the Mailbox property tags channel


[Expand]
function RPi3EDIDBlockGet(Block:LongWord; Buffer:Pointer; Length:LongWord):LongWord;
Description: Get EDID Block from the Mailbox property tags channel


[Expand]
function RPi3FramebufferAllocate(Alignment:LongWord; var Address,Length:LongWord):LongWord;
Description: Allocate Framebuffer from the Mailbox property tags channel


[Expand]
function RPi3FramebufferRelease:LongWord;
Description: Release Framebuffer from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetState(State:LongWord):LongWord;
Description: Set Framebuffer State (Blank Screen) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetDimensions(var Width,Height,Top,Bottom,Left,Right:LongWord):LongWord;
Description: Get Framebuffer Dimensions from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetPhysical(var Width,Height:LongWord):LongWord;
Description: Get Framebuffer Physical size from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetPhysical(var Width,Height:LongWord):LongWord;
Description: Set Framebuffer Physical size from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestPhysical(var Width,Height:LongWord):LongWord;
Description: Test Framebuffer Physical size from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetVirtual(var Width,Height:LongWord):LongWord;
Description: Get Framebuffer Virtual size from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetVirtual(var Width,Height:LongWord):LongWord;
Description: Set Framebuffer Virtual size from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestVirtual(var Width,Height:LongWord):LongWord;
Description: Test Framebuffer Virtual size from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetDepth(var Depth:LongWord):LongWord;
Description: Get Framebuffer Depth (Bits per pixel) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetDepth(var Depth:LongWord):LongWord;
Description: Set Framebuffer Depth (Bits per pixel) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestDepth(var Depth:LongWord):LongWord;
Description: Test Framebuffer Depth (Bits per pixel) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetPixelOrder(var Order:LongWord):LongWord;
Description: Get Framebuffer Pixel Order (RGB) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetPixelOrder(var Order:LongWord):LongWord;
Description: Set Framebuffer Pixel Order (RGB) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestPixelOrder(var Order:LongWord):LongWord;
Description: Test Framebuffer Pixel Order (RGB) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetAlphaMode(var Mode:LongWord):LongWord;
Description: Get Framebuffer Alpha Mode from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetAlphaMode(var Mode:LongWord):LongWord;
Description: Set Framebuffer Alpha Mode from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestAlphaMode(var Mode:LongWord):LongWord;
Description: Test Framebuffer Alpha Mode from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetPitch:LongWord;
Description: Get Framebuffer Pitch (Bytes per line) from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetOffset(var X,Y:LongWord):LongWord;
Description: Get Framebuffer Virtual Offset from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetOffset(var X,Y:LongWord):LongWord;
Description: Set Framebuffer Virtual Offset from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestOffset(var X,Y:LongWord):LongWord;
Description: Test Framebuffer Virtual Offset from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetOverscan(var Top,Bottom,Left,Right:LongWord):LongWord;
Description: Get Framebuffer Overscan from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetOverscan(var Top,Bottom,Left,Right:LongWord):LongWord;
Description: Set Framebuffer Overscan from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestOverscan(var Top,Bottom,Left,Right:LongWord):LongWord;
Description: Test Framebuffer Overscan from the Mailbox property tags channel


[Expand]
function RPi3FramebufferGetPalette(Buffer:Pointer; Length:LongWord):LongWord;
Description: Get Framebuffer Palette from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetPalette(Start,Count:LongWord; Buffer:Pointer; Length:LongWord):LongWord;
Description: Set Framebuffer Palette from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestPalette(Start,Count:LongWord; Buffer:Pointer; Length:LongWord):LongWord;
Description: Test Framebuffer Palette from the Mailbox property tags channel


[Expand]
function RPi3FramebufferTestVsync:LongWord;
Description: Test Framebuffer Vertical Sync from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetVsync:LongWord;
Description: Set Framebuffer Vertical Sync from the Mailbox property tags channel


[Expand]
function RPi3FramebufferSetBacklight(Brightness:LongWord):LongWord;
Description: Set Framebuffer Backlight Brightness from the Mailbox property tags channel


[Expand]
function RPi3TouchGetBuffer(var Address:LongWord):LongWord;
Description: Get the Touchscreen buffer from the Mailbox property tags channel


[Expand]
function RPi3VirtualGPIOGetBuffer(var Address:LongWord):LongWord;
Description: Get the Virtual GPIO buffer from the Mailbox property tags channel


[Expand]
function RPi3CursorSetDefault:LongWord;
Description: Set Cursor Default (Pixels) from the Mailbox property tags channel


[Expand]
function RPi3CursorSetInfo(Width,Height,HotspotX,HotspotY:LongWord; Pixels:Pointer; Length:LongWord):LongWord;
Description: Set Cursor Info (Pixels) from the Mailbox property tags channel


[Expand]
function RPi3CursorSetState(Enabled:Boolean; X,Y:LongWord; Relative:Boolean):LongWord;
Description: Set Cursor State (Enable, X, Y) from the Mailbox property tags channel


[Expand]
function RPi3DMAGetChannels:LongWord;
Description: Get the available DMA Channels from the Mailbox property tags channel


[Expand]
function RPi3VirtualGPIOInputGet(Pin:LongWord):LongWord;
Description: To be documented


[Expand]
function RPi3VirtualGPIOOutputSet(Pin,Level:LongWord):LongWord;
Description: To be documented


[Expand]
function RPi3VirtualGPIOFunctionSelect(Pin,Mode:LongWord):LongWord;
Description: To be documented


RPi3 thread functions

[Expand]
procedure RPi3SchedulerInit;
Description: Initialize the scheduler interrupt on the boot CPU


[Expand]
procedure RPi3SchedulerStart(CPUID:LongWord);
Description: Initialize the scheduler interrupt on the specified secondary CPU


[Expand]
procedure RPi3SecondaryBoot(CPUID:LongWord);
Description: To be documented


RPi3 IRQ functions

[Expand]
function RPi3DispatchIRQ(CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: Process any pending IRQ requests


[Expand]
function RPi3HandleIRQ(Number,CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: Call the handler function for an IRQ that was received, or halt if it doesn't exist


RPi3 FIQ functions

[Expand]
function RPi3DispatchFIQ(CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: Process any pending FIQ requests


[Expand]
function RPi3HandleFIQ(Number,CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: Call the handler function for an FIQ that was received, or halt if it doesn't exist


RPi3 SWI functions

[Expand]
function RPi3DispatchSWI(CPUID:LongWord; Thread:TThreadHandle; Request:PSystemCallRequest):TThreadHandle;
Description: Process an SWI request


RPi3 clock functions

[Expand]
procedure RPi3ClockInterrupt(Parameter:Pointer);
Description: Interrupt handler function for the clock interrupt


[Expand]
procedure RPi3ClockUpdate(Cycles:LongWord; var Last:LongWord);
Description: Setup a clock interrupt to trigger after the specified number of clock cycles


RPi3 ccheduler functions

[Expand]
function RPi3SchedulerInterrupt(CPUID:LongWord; Thread:TThreadHandle; Parameter:Pointer):TThreadHandle;
Description: Interrupt handler function for the scheduler interrupt


[Expand]
procedure RPi3SchedulerUpdate(Cycles:LongWord; var Last:LongWord);
Description: Setup a scheduler interrupt to trigger after the specified number of clock cycles


[Expand]
procedure RPi3SchedulerSystemCall(Request:PSystemCallRequest);
Description: System Call handler for the scheduler


RPi3 framebuffer functions

[Expand]
function RPi3FramebufferDeviceAllocate(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: Allocate a framebuffer using the Mailbox Property Tags


[Expand]
function RPi3FramebufferDeviceAllocateAlt(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: Allocate a framebuffer using a simple Mailbox Call


[Expand]
function RPi3FramebufferDeviceRelease(Framebuffer:PFramebufferDevice):LongWord;
Description: To be documented


[Expand]
function RPi3FramebufferDeviceBlank(Framebuffer:PFramebufferDevice; Blank:Boolean):LongWord;
Description: To be documented


[Expand]
function RPi3FramebufferDeviceCommit(Framebuffer:PFramebufferDevice; Address,Size,Flags:LongWord):LongWord;
Description: To be documented


[Expand]
function RPi3FramebufferDeviceSetBacklight(Framebuffer:PFramebufferDevice; Brightness:LongWord):LongWord;
Description: To be documented


[Expand]
function RPi3FramebufferDeviceSetProperties(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: To be documented


RPi3 helper functions

[Expand]
procedure RPi3Wait; assembler; nostackframe;
Description: To be documented


[Expand]
procedure RPi3LongWait; assembler; nostackframe;
Description: To be documented


[Expand]
procedure RPi3ShortWait; assembler; nostackframe;
Description: To be documented


[Expand]
procedure RPi3SlowBlink; assembler; nostackframe;
Description: To be documented


[Expand]
procedure RPi3FastBlink; assembler; nostackframe;
Description: To be documented


[Expand]
procedure RPi3BootBlink; assembler; nostackframe;
Description: Blink the Activity LED without dependency on any other RTL setup


[Expand]
function RPi3ConvertPowerIdRequest(PowerId:LongWord):LongWord;
Description: Convert Ultibo Power Id to BCM2837 Power Id


[Expand]
function RPi3ConvertPowerStateRequest(PowerState:LongWord):LongWord;
Description: Convert Ultibo Power State to BCM2837 Power State


[Expand]
function RPi3ConvertPowerStateResponse(PowerState:LongWord):LongWord;
Description: Convert BCM2837 Power State to Ultibo Power State


[Expand]
function RPi3ConvertClockIdRequest(ClockId:LongWord):LongWord;
Description: Convert Ultibo Clock Id to BCM2837 Clock Id


[Expand]
function RPi3ConvertClockStateRequest(ClockState:LongWord):LongWord;
Description: Convert Ultibo Clock State to BCM2837 Clock State


[Expand]
function RPi3ConvertClockStateResponse(ClockState:LongWord):LongWord;
Description: Convert BCM2837 Clock State to Ultibo Clock State


[Expand]
function RPi3ConvertVoltageIdRequest(VoltageId:LongWord):LongWord;
Description: Convert Ultibo Voltage Id to BCM2837 Voltage Id


[Expand]
function RPi3ConvertTemperatureIdRequest(TemperatureId:LongWord):LongWord;
Description: Convert Ultibo Temperature Id to BCM2837 Temperature Id


Return to Unit Reference