subsystems library

Classes

Abi
An application binary interface (ABI).
AbiSpecificInteger
The supertype of all Abi-specific integer types.
AbiSpecificIntegerMapping
Mapping for a subtype of AbiSpecificInteger.
Allocator
Manages memory on the native heap.
Arena
An Allocator which frees all allocations at the same time.
Array<T extends NativeType>
A fixed-sized array of Ts.
Bool
Represents a native bool in C.
BurtCan
CanBindings
Bindings for src/burt_can.
CanFFI
The CAN interface, backed by the native SocketCAN library on Linux.
CanMessage
A wrapper around a NativeCanMessage.
CanSocket
A CAN socket that supports reading and writing CAN messages.
CanStub
An implementation of the CAN interface that does nothing for platforms that don't support it.
Char
The C char type.
Dart_CObject
Opaque, not exposing it's members.
DartRepresentationOf
DefaultAsset
Annotation specifying the default asset ID for the current library.
Double
Represents a native 64 bit double in C.
DynamicLibrary
A dynamically loaded native library.
Finalizable
Marker interface for objects which should not be finalized too soon.
FirmwareManager
A service to manage all the connected firmware.
Float
Represents a native 32 bit float in C.
GpsReader
Listens to the GPS and sends its output to the Dashboard.
Handle
Represents Dart_Handle from dart_api.h in C.
ImuReader
A service to read orientation data from the connected IMU.
Int
The C int type.
Int16
Represents a native signed 16 bit integer in C.
Int32
Represents a native signed 32 bit integer in C.
Int64
Represents a native signed 64 bit integer in C.
Int8
Represents a native signed 8 bit integer in C.
IntPtr
The C intptr_t type.
Long
The C long int, aka. long, type.
LongLong
The C long long type.
Native<T>
Annotation binding an external declaration to its native implementation.
NativeApi
Utilities for accessing the Dart VM API from Dart code or from C code via dart_api_dl.h.
NativeCallable<T extends Function>
A native callable which listens for calls to a native function.
NativeCanMessage
NativeFinalizer
A native finalizer which can be attached to Dart objects.
NativeFunction<T extends Function>
Represents a function type in C.
NativeType
NativeType's subtypes represent a native type in C.
Opaque
Opaque's subtypes represent opaque types in C.
Packed
Annotation to specify on Struct subtypes to indicate that its members need to be packed.
Pointer<T extends NativeType>
Represents a pointer into the native C memory. Cannot be extended.
Short
The C short type.
SignedChar
The C signed char type.
Size
The C size_t type.
SizedNativeType
A NativeType with a known size.
Struct
The supertype of all FFI struct types.
SubsystemsCollection
Contains all the resources needed by the subsystems program.
Uint16
Represents a native unsigned 16 bit integer in C.
Uint32
Represents a native unsigned 32 bit integer in C.
Uint64
Represents a native unsigned 64 bit integer in C.
Uint8
Represents a native unsigned 8 bit integer in C.
UintPtr
The C uintptr_t type.
Union
The supertype of all FFI union types.
UnsignedChar
The C unsigned char type.
UnsignedInt
The C unsigned int type.
UnsignedLong
The C unsigned long int, aka. unsigned long, type.
UnsignedLongLong
The C unsigned long long type.
UnsignedShort
The C unsigned short type.
Utf16
The contents of a native zero-terminated array of UTF-16 code units.
Utf8
The contents of a native zero-terminated array of UTF-8 code units.
VarArgs<T extends Record>
The types of variadic arguments passed in C.
Void
Represents a void type in C.
WChar
The C wchar_t type.

Enums

BurtCanStatus
No 0 value to ensure we always set a status
BurtCanType

Extensions

AbiSpecificIntegerArray on Array<T>
Bounds checking indexing methods on Arrays of AbiSpecificInteger.
AbiSpecificIntegerPointer on Pointer<T>
Extension on Pointer specialized for the type argument AbiSpecificInteger.
AllocatorAlloc on Allocator
Extension on Allocator to provide allocation with NativeType.
ArrayAddress on Array<T>
ArrayArray on Array<Array<T>>
Bounds checking indexing methods on Arrays of Array.
BoolAddress on bool
BoolArray on Array<Bool>
Bounds checking indexing methods on Arrays of Bool.
BoolPointer on Pointer<Bool>
Extension on Pointer specialized for the type argument Bool.
BurtCanStatusUtils on BurtCanStatus
Helpful methods on BurtCanStatus.
DoubleAddress on double
DoubleArray on Array<Double>
Bounds checking indexing methods on Arrays of Double.
DoublePointer on Pointer<Double>
Extension on Pointer specialized for the type argument Double.
DynamicLibraryExtension on DynamicLibrary
Method which must not be invoked dynamically.
Float32ListAddress on Float32List
Float64ListAddress on Float64List
FloatArray on Array<Float>
Bounds checking indexing methods on Arrays of Float.
FloatPointer on Pointer<Float>
Extension on Pointer specialized for the type argument Float.
Int16Array on Array<Int16>
Bounds checking indexing methods on Arrays of Int16.
Int16ListAddress on Int16List
Int16Pointer on Pointer<Int16>
Extension on Pointer specialized for the type argument Int16.
Int32Array on Array<Int32>
Bounds checking indexing methods on Arrays of Int32.
Int32ListAddress on Int32List
Int32Pointer on Pointer<Int32>
Extension on Pointer specialized for the type argument Int32.
Int64Array on Array<Int64>
Bounds checking indexing methods on Arrays of Int64.
Int64ListAddress on Int64List
Int64Pointer on Pointer<Int64>
Extension on Pointer specialized for the type argument Int64.
Int8Array on Array<Int8>
Bounds checking indexing methods on Arrays of Int8.
Int8ListAddress on Int8List
Int8Pointer on Pointer<Int8>
Extension on Pointer specialized for the type argument Int8.
IntAddress on int
NativeFunctionPointer on Pointer<NativeFunction<NF>>
Extension on Pointer specialized for the type argument NativeFunction.
NativePort on SendPort
Extension to retrieve the native Dart_Port from a SendPort.
PointerArray on Array<Pointer<T>>
Bounds checking indexing methods on Arrays of Pointer.
PointerPointer on Pointer<Pointer<T>>
Extension on Pointer specialized for the type argument Pointer.
StringUtf16Pointer on String
Extension method for converting a String to a Pointer<Utf16>.
StringUtf8Pointer on String
Extension method for converting a String to a Pointer<Utf8>.
StructAddress on T
StructArray on Array<T>
Bounds checking indexing methods on Arrays of Struct.
StructPointer on Pointer<T>
Extension on Pointer specialized for the type argument Struct.
Uint16Array on Array<Uint16>
Bounds checking indexing methods on Arrays of Uint16.
Uint16ListAddress on Uint16List
Uint16Pointer on Pointer<Uint16>
Extension on Pointer specialized for the type argument Uint16.
Uint32Array on Array<Uint32>
Bounds checking indexing methods on Arrays of Uint32.
Uint32ListAddress on Uint32List
Uint32Pointer on Pointer<Uint32>
Extension on Pointer specialized for the type argument Uint32.
Uint64Array on Array<Uint64>
Bounds checking indexing methods on Arrays of Uint64.
Uint64ListAddress on Uint64List
Uint64Pointer on Pointer<Uint64>
Extension on Pointer specialized for the type argument Uint64.
Uint8Array on Array<Uint8>
Bounds checking indexing methods on Arrays of Uint8.
Uint8ListAddress on Uint8List
Uint8Pointer on Pointer<Uint8>
Extension on Pointer specialized for the type argument Uint8.
UnionAddress on T
UnionArray on Array<T>
Bounds checking indexing methods on Arrays of Union.
UnionPointer on Pointer<T>
Extension on Pointer specialized for the type argument Union.
Utf16Pointer on Pointer<Utf16>
Extension method for converting aPointer<Utf16> to a String.
Utf8Pointer on Pointer<Utf8>
Extension method for converting aPointer<Utf8> to a String.

Constants

calloc → const CallocAllocator
Manages memory on the native heap.
canInterface → const String
The CAN interface to use.
canTimeout → const int
The timeout, in seconds, to wait for each message.
canType → const BurtCanType
The CAN type to use -- CAN or CAN FD.
gpsPort → const String
The port/device file to listen to the GPS on.
imuPort → const String
The serial port that the IMU is connected to.
malloc → const MallocAllocator
Manages memory on the native heap.

Properties

autonomySocket → SocketInfo
The UDP socket on the Autonomy program.
final
collection SubsystemsCollection
The collection of all the subsystem's resources.
final
logger → BurtLogger
A logger that prints to the terminal and sends a UDP message.
final
nameToDevice Map<String, Device>
Maps command names to Devices.
final
nativeLib CanBindings
The native SocketCAN-based library.
final
nullptr Pointer<Never>
Represents a pointer into the native C memory corresponding to 'NULL', e.g. a pointer with address 0.
final
positionVersion → Version
The version that we are using for RoverPosition data.
final
zoneArena Arena
A zone-specific Arena.
no setter

Functions

sizeOf<T extends SizedNativeType>() int
Number of bytes used by native type T.
using<R>(R computation(Arena), [Allocator wrappedAllocator = calloc]) → R
Runs computation with a new Arena, and releases all allocations at the end.
withZoneArena<R>(R computation(), [Allocator wrappedAllocator = calloc]) → R
Creates a zoned Arena to manage native resources.

Typedefs

CanHandler = void Function(CanMessage message)
A function that handles a CanMessage.
Dart_NativeMessageHandler = Void Function(Int64, Pointer<Dart_CObject>)
NativeFinalizerFunction = NativeFunction<Void Function(Pointer<Void> token)>
The native function type for NativeFinalizers.