Table of Contents

Namespace Pamoja.Native.Interop

Classes

FixedWidth

Checks a fixed-width argument before a native call reads it.

NamedValue

Checks an enum argument before a native call reads it.

NativeHandle

A SafeHandle over a native pointer whose release function is supplied at construction, so the handle is always released exactly once even across finalization races.

NativeMethods

The P/Invoke declarations for the actuator drivers that run over an I2C bus and their simulated parts, mirroring pamoja.h one-to-one.

OwnedBuffer

Byte buffers a native call hands back for the caller to own.

OwnedString

Reads and releases the owned strings the C ABI produces.

Status

The thread-local error slot every native call reports through.

Structs

NativeLease

A native pointer held open until the lease is disposed.

PamojaAckermann

Car-like steering: axles a wheelbase apart.

PamojaAds1115Config

An ADS1115 configuration register field by field, mirroring PamojaAds1115Config in pamoja.h.

PamojaAds1115Sample

One ADS1115 conversion. Mirrors PamojaAds1115Sample in pamoja.h.

PamojaAds1115Settings

How an ADS1115 driver converts. Mirrors PamojaAds1115Settings in pamoja.h.

PamojaAlertCode

The null-terminated code of a custom alert, as it crosses the boundary.

PamojaBme280Config

A BME280 config register, field by field. Mirrors PamojaBme280Config in pamoja.h.

PamojaBme280CtrlMeas

A BME280 ctrl_meas register, field by field. Mirrors PamojaBme280CtrlMeas in pamoja.h.

PamojaBme280Measurement

A compensated BME280 reading, mirroring PamojaBme280Measurement in pamoja.h.

PamojaBme280Settings

How a BME280 driver measures. Mirrors PamojaBme280Settings in pamoja.h.

PamojaBmp280Coefficients

A BMP280's per-chip trimming coefficients, as they sit in its registers. Mirrors <c>PamojaBmp280Coefficients</c> in <c>pamoja.h</c>.

PamojaBmp280Config

A BMP280 config register, field by field. Mirrors <c>PamojaBmp280Config</c> in <c>pamoja.h</c>.

PamojaBmp280CtrlMeas

A BMP280 ctrl_meas register, field by field. Mirrors <c>PamojaBmp280CtrlMeas</c> in <c>pamoja.h</c>.

PamojaBmp280Measurement

The uncompensated codes a BMP280 burst read carries. Mirrors <c>PamojaBmp280Measurement</c> in <c>pamoja.h</c>.

PamojaBmp280Reading

A compensated BMP280 reading. Mirrors <c>PamojaBmp280Reading</c> in <c>pamoja.h</c>.

PamojaBmp280Settings

How a BMP280 driver measures. Mirrors PamojaBmp280Settings in pamoja.h.

PamojaBodyMotion

A planar body motion: a forward speed and a yaw rate.

PamojaBoot

The decision a device made at boot.

PamojaCanFilter

A CAN receive filter, as the C ABI carries it.

PamojaChirpstackReception

One gateway that heard an uplink, mirroring PamojaChirpstackReception.

PamojaChirpstackUplinkSummary

The scalar fields of an uplink event, mirroring PamojaChirpstackUplinkSummary.

PamojaCoapConfig

The settings a CoAP endpoint is built from.

PamojaControlSpec

A control policy, flattened so every variant crosses as one value.

PamojaCoordinate

A latitude and longitude in degrees, mirroring PamojaCoordinate in pamoja.h.

PamojaDelegation

A statement, signed by the anchor, that a second key may sign releases.

PamojaDevice

Who a device is, and whose signature it trusts.

PamojaDhParameters

One joint of a serial arm in the Denavit-Hartenberg convention.

PamojaDiffDrive

A differential drive: two wheels a track apart.

PamojaDigest

A 32-byte key or digest carried inline inside a blittable struct.

PamojaDs18b20Reading

A decoded DS18B20 scratchpad, mirroring PamojaDs18b20Reading in pamoja.h.

PamojaDutyCycle

The split between the time a node works and the time it sleeps.

PamojaEsc

An electronic speed controller's pulse widths.

PamojaEui

An 8-byte device or gateway identifier carried inline inside a blittable struct.

PamojaFourBytes

A 4-byte block descriptor or integrity code carried inline inside a blittable struct.

PamojaGatewayNetworkEvent

What a forwarded packet turned out to be, mirroring PamojaGatewayNetworkEvent in pamoja.h.

PamojaGatewayNetworkNotice

A device a relay heard and could not verify, mirroring PamojaGatewayNetworkNotice.

PamojaGatewayNetworkSlot

Where and when a downlink answers an uplink, mirroring PamojaGatewayNetworkSlot in pamoja.h.

PamojaGatewayNetworkWindows

When and where a network answers, mirroring PamojaGatewayNetworkWindows in pamoja.h.

PamojaGatewayRxpk

A packet a gateway heard, without its payload, mirroring PamojaGatewayRxpk in pamoja.h.

PamojaGatewayStat

A gateway's own status report, mirroring PamojaGatewayStat in pamoja.h.

PamojaGatewayStationBroadcast

One frame of a schedule apart from its bytes, mirroring PamojaGatewayStationBroadcast in pamoja.h.

PamojaGatewayStationDataRate

One number of a configuration's data-rate table, mirroring PamojaGatewayStationDataRate in pamoja.h.

PamojaGatewayStationFields

Every fixed field a message carries, mirroring PamojaGatewayStationFields in pamoja.h.

PamojaGatewayStationJoinRange

A range of join identifiers, both ends included, mirroring PamojaGatewayStationJoinRange in pamoja.h.

PamojaGatewayStationLevels

How a station heard a packet, mirroring PamojaGatewayStationLevels in pamoja.h.

PamojaGatewayStationRouterIds

The identities a discovery answer names, mirroring PamojaGatewayStationRouterIds in pamoja.h.

PamojaGatewayStationWindow

A receive window, or the ping slot of a class B downlink, mirroring PamojaGatewayStationWindow in pamoja.h.

PamojaGatewayStationXtime

A station clock value taken apart, mirroring PamojaGatewayStationXtime in pamoja.h.

PamojaGatewayTxpk

A packet a server asks a gateway to transmit, without its payload, mirroring PamojaGatewayTxpk in pamoja.h.

PamojaGuidance

The command toward a waypoint, with the geometry behind it.

PamojaHdc1080Config

An HDC1080 configuration register, field by field. Mirrors <c>PamojaHdc1080Config</c> in <c>pamoja.h</c>.

PamojaHdc1080Measurement

A decoded HDC1080 temperature and humidity pair. Mirrors <c>PamojaHdc1080Measurement</c> in <c>pamoja.h</c>.

PamojaHdc1080Settings

How an HDC1080 driver measures. Mirrors PamojaHdc1080Settings in pamoja.h.

PamojaI2cAddress

A validated I2C device address, mirroring PamojaI2cAddress in pamoja.h.

PamojaId

A 16-byte identifier carried inline inside a blittable struct.

PamojaIna219Config

An INA219 configuration register, field by field. Mirrors PamojaIna219Config in pamoja.h.

PamojaIna219Reading

One INA219 conversion. Mirrors PamojaIna219Reading in pamoja.h.

PamojaIna219Settings

How an INA219 driver measures. Mirrors PamojaIna219Settings in pamoja.h.

PamojaIna226Config

An INA226 configuration register, field by field. Mirrors <c>PamojaIna226Config</c> in <c>pamoja.h</c>.

PamojaIna226DieId

A decoded INA226 die-ID register. Mirrors <c>PamojaIna226DieId</c> in <c>pamoja.h</c>.

PamojaIna226MaskEnable

An INA226 Mask/Enable register, field by field. Mirrors <c>PamojaIna226MaskEnable</c> in <c>pamoja.h</c>.

PamojaIna226Reading

One INA226 conversion. Mirrors PamojaIna226Reading in pamoja.h.

PamojaIna226Settings

How an INA226 driver measures. Mirrors PamojaIna226Settings in pamoja.h.

PamojaJ1939Id

The fields J1939 packs into an extended CAN identifier, mirroring PamojaJ1939Id in pamoja.h.

PamojaJ1939Signals

The eight data bytes of a J1939 frame, carried inline by value.

PamojaJoints

A two-link arm's joint angles, in radians.

PamojaLevelCounts

The five per-level counters a snapshot carries, inline.

PamojaLoraBeacon

The Class B beacon settings of a plan, mirroring PamojaLoraBeacon in pamoja.h.

PamojaLoraChannelBlock

A run of evenly spaced channels, mirroring PamojaLoraChannelBlock in pamoja.h.

PamojaLoraDataRate

One data rate, mirroring PamojaLoraDataRate in pamoja.h.

PamojaLoraJoinPlan

A run of join channels that puts a device on a plan, mirroring PamojaLoraJoinPlan in pamoja.h.

PamojaLoraLink

The radio settings of a LoRa link, mirroring PamojaLoraLink in pamoja.h.

PamojaLoraLinkBudget

The gains and losses of a LoRa link, mirroring PamojaLoraLinkBudget in pamoja.h.

PamojaLoraMaskControl

What one ChMaskCntl value does, mirroring PamojaLoraMaskControl in pamoja.h.

PamojaLoraMaxPayload

What one data rate may carry in a single frame, mirroring PamojaLoraMaxPayload in pamoja.h.

PamojaLoraPlanInfo

The scalar facts of a plan, mirroring PamojaLoraPlanInfo in pamoja.h.

PamojaLoraPlanRules

How a plan defines and uses its channels, mirroring PamojaLoraPlanRules in pamoja.h.

PamojaLoraRadioConfig

What a radio of either family sends and listens with, mirroring PamojaLoraRadioConfig in pamoja.h.

PamojaLoraRadioReception

How a reception ended, mirroring PamojaLoraRadioReception in pamoja.h.

PamojaLoraRelayChannel

A default channel of a LoRaWAN relay, mirroring PamojaLoraRelayChannel.

PamojaLoraSubBand

A slice of a band with its own transmit limits, mirroring PamojaLoraSubBand in pamoja.h.

PamojaLoraTuning

What a simulated chip is tuned to, mirroring PamojaLoraTuning in pamoja.h.

PamojaLorawanBackoffStep

What a back-off says to do with one uplink, mirroring PamojaLorawanBackoffStep in pamoja.h.

PamojaLorawanCarrier

Where a frame goes and how fast, mirroring PamojaLorawanCarrier.

PamojaLorawanChannel

A channel a device may send on, mirroring PamojaLorawanChannel.

PamojaLorawanDeviceError

Why a device's last call failed, mirroring PamojaLorawanDeviceError.

PamojaLorawanDeviceSettings

What a device's radio can do, mirroring PamojaLorawanDeviceSettings.

PamojaLorawanEndDeviceStatus

Where a device stands, mirroring PamojaLorawanEndDeviceStatus.

PamojaLorawanFlags

The header flags a sender sets on a data frame, mirroring PamojaLorawanFlags in pamoja.h.

PamojaLorawanGrant

What a network grants a device that joined, mirroring PamojaLorawanGrant in pamoja.h.

PamojaLorawanHeader

What a frame says about itself before any key is involved, mirroring PamojaLorawanHeader in pamoja.h.

PamojaLorawanHeard

What a heard frame was, mirroring PamojaLorawanHeard.

PamojaLorawanMacCommand

One of the commands a network and a device configure each other with, mirroring PamojaLorawanMacCommand in pamoja.h.

PamojaLorawanNext

What to do next, mirroring PamojaLorawanNext.

PamojaLorawanPackageCommand

One command of a LoRaWAN application layer package, mirroring PamojaLorawanPackageCommand in pamoja.h.

PamojaLorawanRelayExchange

A wake-on-radio exchange, mirroring PamojaLorawanRelayExchange.

PamojaLorawanRelayStatus

What a relay said about itself, mirroring PamojaLorawanRelayStatus.

PamojaLorawanRxr

A downlink for an end device, mirroring PamojaLorawanRxr.

PamojaLorawanScan

A scan for wake-on-radio frames, mirroring PamojaLorawanScan.

PamojaLorawanStateSync

What a relay tells an end device, mirroring PamojaLorawanStateSync.

PamojaLorawanSynchronization

What a device knows of a relay's scans, mirroring PamojaLorawanSynchronization.

PamojaLorawanTransmission

A frame to put on the air, mirroring PamojaLorawanTransmission.

PamojaLorawanUplinkMetadata

What a relay heard of an uplink, mirroring PamojaLorawanUplinkMetadata.

PamojaLorawanWake

What a wake-on-radio frame led to, mirroring PamojaLorawanWake.

PamojaLorawanWindow

When and where to listen, mirroring PamojaLorawanWindow.

PamojaLorawanWor

A wake-on-radio frame as a relay reads it, mirroring PamojaLorawanWor.

PamojaLorawanWorKeys

An end device's wake-on-radio keys, mirroring PamojaLorawanWorKeys.

PamojaLorawanWorSlot

When a WOR frame goes out, mirroring PamojaLorawanWorSlot.

PamojaManifest

What a release says about itself, and what a device checks it against.

PamojaMatrix16

Sixteen floats carried inline inside a blittable struct.

PamojaMavlinkField

One field of a message definition, mirroring PamojaMavlinkField in pamoja.h.

PamojaMavlinkFieldInfo

One field of a message shape, mirroring PamojaMavlinkFieldInfo in pamoja.h.

PamojaMavlinkHeader

The addressing fields a sender stamps on every frame, mirroring PamojaMavlinkHeader in pamoja.h.

PamojaMecanum

A mecanum base: four wheels a wheelbase and a track apart.

PamojaModbusClientError

Why a Modbus client call failed, as the C ABI reports it.

PamojaMqttConfig

Connection settings passed to pamoja_mqtt_client_new(ref PamojaMqttConfig), mirroring PamojaMqttConfig in pamoja.h.

PamojaMqttTls

TLS settings, mirroring PamojaMqttTls in pamoja.h.

PamojaMqttWill

A last-will message, mirroring PamojaMqttWill in pamoja.h.

PamojaOpt3001Config

An OPT3001 configuration register, field by field. Mirrors <c>PamojaOpt3001Config</c> in <c>pamoja.h</c>.

PamojaOpt3001Reading

An OPT3001 illuminance result. Mirrors PamojaOpt3001Reading in pamoja.h.

PamojaOpt3001Settings

How an OPT3001 driver measures. Mirrors PamojaOpt3001Settings in pamoja.h.

PamojaPca9685Outputs

How a PCA9685's sixteen outputs are wired. Mirrors PamojaPca9685Outputs in pamoja.h.

PamojaPca9685Settings

How a PCA9685 driver programs the part. Mirrors PamojaPca9685Settings in pamoja.h.

PamojaPoint

A point in a plane.

PamojaPose

Where a robot is and which way it faces.

PamojaPowerPlan

The work intervals a node uses in each mode, and where they change.

PamojaPowerSchedule

How often a node samples as its battery drains, in whole seconds.

PamojaPwm

A PCA9685 channel's four register bytes, mirroring PamojaPwm in pamoja.h.

PamojaQuadratureScale

An encoder's resolution and its wheel's radius.

PamojaReach

The closest and farthest a two-link arm's hand reaches.

PamojaReaction

What a controller decided about one reading.

PamojaRos2Twist

A body velocity command, matching geometry_msgs/msg/Twist.

PamojaRoute

A learned way to reach one node, mirroring PamojaRoute in pamoja.h.

PamojaScd4xMeasurement

A decoded SCD4x measurement frame. Mirrors <c>PamojaScd4xMeasurement</c> in <c>pamoja.h</c>.

PamojaSealed

The header that travels beside a sealed message.

PamojaSerialSettings

A serial port's speed and character format, as the C ABI carries it.

PamojaServoMap

A hobby servo's pulse range and travel.

PamojaSht3xMeasurement

A decoded SHT3x temperature and humidity pair. Mirrors <c>PamojaSht3xMeasurement</c> in <c>pamoja.h</c>.

PamojaSht3xStatus

A decoded SHT3x status register. Mirrors <c>PamojaSht3xStatus</c> in <c>pamoja.h</c>.

PamojaSideSpeeds

The speeds of a two-sided drive's left and right wheels or tracks.

PamojaSkidSteer

A skid-steer drive: sides a track apart that slip to turn.

PamojaSlotRecord

The record a device keeps about one slot.

PamojaSx126xBoard

How a module wires its SX126x, mirroring PamojaSx126xBoard in pamoja.h.

PamojaSx126xBytes

The bytes of one SX126x command, carried inline inside a blittable struct.

PamojaSx126xCommand

One SX126x command or command header, mirroring PamojaSx126xCommand in pamoja.h.

PamojaSx126xPacketStatus

The signal levels of a received LoRa frame, mirroring PamojaSx126xPacketStatus in pamoja.h.

PamojaSx126xQuery

An SX126x command that reads data back, mirroring PamojaSx126xQuery in pamoja.h.

PamojaSx126xRxBufferStatus

Where a received payload sits in the chip's buffer, mirroring PamojaSx126xRxBufferStatus in pamoja.h.

PamojaSx126xStatus

A decoded status byte, mirroring PamojaSx126xStatus in pamoja.h.

PamojaSx126xTxPower

An SX126x amplifier setting, mirroring PamojaSx126xTxPower in pamoja.h.

PamojaSx127xHighBwOptimize

The writes of the SX127x 500 kHz sensitivity erratum, mirroring PamojaSx127xHighBwOptimize in pamoja.h.

PamojaSx127xModem

The LoRa modem registers of an SX127x for a link, mirroring PamojaSx127xModem in pamoja.h.

PamojaSx127xModemStatus

The live state of an SX127x LoRa modem, mirroring PamojaSx127xModemStatus in pamoja.h.

PamojaSx127xPacketStatus

The signal levels of a packet an SX127x received, mirroring PamojaSx127xPacketStatus in pamoja.h.

PamojaSx127xSpuriousReception

The receive settings of the SX127x spurious reception erratum, mirroring PamojaSx127xSpuriousReception in pamoja.h.

PamojaSx127xTxPower

The amplifier settings of an SX127x, mirroring PamojaSx127xTxPower in pamoja.h.

PamojaTag

A 16-byte authentication tag carried inline inside a blittable struct.

PamojaTelemetrySnapshot

A count of everything a reporter has seen.

PamojaTilt

Roll and pitch, in degrees.

PamojaTmp117Alerts

The TMP117's alert flags. Mirrors PamojaTmp117Alerts in pamoja.h.

PamojaTmp117Config

A TMP117 configuration register, field by field. Mirrors <c>PamojaTmp117Config</c> in <c>pamoja.h</c>.

PamojaTmp117Reading

A TMP117 temperature result. Mirrors PamojaTmp117Reading in pamoja.h.

PamojaTransform

A 4x4 homogeneous transform, sixteen floats in row-major order.

PamojaTransportCallbacks

The functions a host supplies to stand as a transport, mirroring PamojaTransportCallbacks in pamoja.h.

PamojaTwist

How fast a robot is asked to move.

PamojaTwoLinkArm

A planar two-link arm.

PamojaTypeHash

A RIHS01 type hash as it crosses the boundary.

PamojaTypeHashDigest

A RIHS01 type hash: the digest that identifies a message definition.

PamojaVector3

A three-dimensional vector, matching geometry_msgs/msg/Vector3.

PamojaWaypointFollower

A carrot-following guide's speeds and gains.

PamojaWheelSpeeds

The four wheel speeds of a mecanum base.

PamojaWorAck

A wake-on-radio acknowledgment carried inline, seven bytes.

PamojaWorFrame

A wake-on-radio frame carried inline, at most fifteen bytes.

Enums

PamojaAlertKind

Which threshold a reading crossed, if any.

PamojaBootAction

What a bootloader should do with what it found.

PamojaBoundary

Where a fix sits relative to a geofence, mirroring PamojaBoundary in pamoja.h.

PamojaCoapReliability

Whether a CoAP request is acknowledged and retried.

PamojaControlKind

Which control policy a profile applies to each reading.

PamojaDelivery

What became of a message handed to a ladder.

PamojaEdge

What a trigger reports when a reading changes its state, if anything.

PamojaElbow

Which way a two-link arm's elbow bends.

PamojaEntityKind

The ROS 2 subsystem a name belongs to, which fixes its DDS prefix.

PamojaForward

What to do with a packet bound for a given node, mirroring PamojaForward in pamoja.h.

PamojaI2cDirection

Which direction an I2C transfer runs, mirroring PamojaI2cDirection in pamoja.h.

PamojaIna226AlertFunction

The limit comparison an INA226 alert pin responds to. Mirrors <c>PamojaIna226AlertFunction</c> in <c>pamoja.h</c>.

PamojaLinkCost

What the link back to the network currently costs.

PamojaLorawanDirection

The direction a frame traveled, mirroring PamojaLorawanDirection in pamoja.h.

PamojaLorawanMessageType

What kind of message a frame is, mirroring PamojaLorawanMessageType in pamoja.h.

PamojaPinEdge

The signal transition that triggers a pin interrupt, mirroring PamojaPinEdge in pamoja.h.

PamojaPinLevel

The physical voltage level on a pin, mirroring PamojaPinLevel in pamoja.h.

PamojaPinPolarity

Whether a signal is asserted by a high or a low physical level, mirroring PamojaPinPolarity in pamoja.h.

PamojaPowerMode

What a node should be doing at the current state of charge.

PamojaQos

MQTT delivery guarantee at the C ABI, mirroring PamojaQos in pamoja.h. The values match the facade Qos in Pamoja.Mqtt.

PamojaSessionRole

Which side of a session a device is on.

PamojaSlotState

What a device believes about one slot.

PamojaStatus

The result of a fallible native call, mirroring PamojaStatus in pamoja.h.

PamojaStepDirection

Which way to step a motor, mirroring PamojaStepDirection in pamoja.h.

PamojaStepDrive

A stepper drive pattern, mirroring PamojaStepDrive in pamoja.h.

PamojaSx126xChipMode

The operating mode a status byte reports, mirroring PamojaSx126xChipMode in pamoja.h.

PamojaSx126xCommandStatus

The outcome a status byte reports, mirroring PamojaSx126xCommandStatus in pamoja.h.

PamojaTelemetryLevel

How urgent a telemetry event is.

Delegates

NativeTry<TValue>

A native call that reports whether it produced a value, and writes it.