Table of Contents

Namespace Pamoja.Native.Interop

Classes

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 identity, codec, and helper-math capabilities of the pamoja C ABI, 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

PamojaAds1115Config

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

PamojaBme280Measurement

A compensated BME280 reading, mirroring PamojaBme280Measurement 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>.

PamojaBoot

The decision a device made at boot.

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.

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.

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>.

PamojaI2cAddress

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

PamojaId

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

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>.

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.

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.

PamojaLoraLink

The radio settings of a LoRa link, mirroring PamojaLoraLink 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.

PamojaLoraSubBand

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

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.

PamojaManifest

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

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.

PamojaMqttConfig

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

PamojaOpt3001Config

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

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.

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.

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>.

PamojaSlotRecord

The record a device keeps about one slot.

PamojaTag

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

PamojaTelemetrySnapshot

A count of everything a reporter has seen.

PamojaTmp117Config

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

PamojaTwist

How fast a robot is asked to move.

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.

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.

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.

PamojaTelemetryLevel

How urgent a telemetry event is.

Delegates

NativeTry<TValue>

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