Documentation
¶
Index ¶
- Constants
- func AcquireMutex(mutex *Mutex) uint32
- func AssignPPIChannel(channel_num uint8, evt_endpoint unsafe.Pointer, task_endpoint unsafe.Pointer) uint32
- func AssignPPIGroup(group_num uint8, channel_msk uint32) uint32
- func CloseRadioSession() uint32
- func ClrPPIChannelEnable(channel_enable_clr_msk uint32) uint32
- func ClrPowerGpregret(gpregret_id uint32, gpregret_msk uint32) uint32
- func ClrPowerRamPower(index uint8, ram_powerclr uint32) uint32
- func ClrPowerResetReason(reset_reason_clr_msk uint32) uint32
- func DisablePPIGroupTask(group_num uint8) uint32
- func DisableSoftdevice() uint32
- func EnablePPIGroupTask(group_num uint8) uint32
- func EnablePowerPof(pof_enable uint8) uint32
- func EnablePowerUsbdetected(usbdetected_enable uint8) uint32
- func EnablePowerUsbpwrrdy(usbpwrrdy_enable uint8) uint32
- func EnablePowerUsbremoved(usbremoved_enable uint8) uint32
- func EnableSoftdevice(clock_lf_cfg *ClockLFCfg, fault_handler unsafe.Pointer) uint32
- func EncryptEcbBlock(ecb_data *EcbHalData) uint32
- func EncryptEcbBlocks(block_count uint8, data_blocks *EcbHalDataBlock) uint32
- func EraseFlashPage(page_number uint32) uint32
- func GetEvt(evt_id *uint32) uint32
- func GetPPIChannelEnable(channel_enable *uint32) uint32
- func GetPPIGroup(group_num uint8, channel_msk *uint32) uint32
- func GetPowerGpregret(gpregret_id uint32, gpregret *uint32) uint32
- func GetPowerRamPower(index uint8, ram_power *uint32) uint32
- func GetPowerResetReason(reset_reason *uint32) uint32
- func GetPowerUsbregstatus(usbregstatus *uint32) uint32
- func GetRandApplicationBytesAvailable(bytes_available *uint8) uint32
- func GetRandApplicationPoolCapacity(pool_capacity *uint8) uint32
- func GetRandApplicationVector(buff *uint8, length uint8) uint32
- func GetTemp(temp *int32) uint32
- func IsEnabledSoftdevice(softdevice_enabled *uint8) uint32
- func IsRunningClockHF(is_running *uint32) uint32
- func NewMutex(mutex *Mutex) uint32
- func OffPowerSystem() uint32
- func OpenRadioSession(p_radio_signal_callback unsafe.Pointer) uint32
- func ReleaseClockHF() uint32
- func ReleaseMutex(mutex *Mutex) uint32
- func RequestClockHF() uint32
- func RequestRadio(request *RadioRequest) uint32
- func SetPPIChannelEnable(channel_enable_set_msk uint32) uint32
- func SetPowerDcdc0Mode(dcdc_mode uint8) uint32
- func SetPowerDcdcMode(dcdc_mode uint8) uint32
- func SetPowerGpregret(gpregret_id uint32, gpregret_msk uint32) uint32
- func SetPowerMode(power_mode uint8) uint32
- func SetPowerPofThreshold(threshold uint8) uint32
- func SetPowerPofThresholdvddh(threshold uint8) uint32
- func SetPowerRamPower(index uint8, ram_powerset uint32) uint32
- func SetRadioNotificationCfg(typ uint8, distance uint8) uint32
- func SetSoftdeviceVectorTableBase(address uint32) uint32
- func WaitAppEvt() uint32
- func WriteFlash(dst *uint32, src *uint32, size uint32) uint32
- func WriteProtectedRegister(register *uint32, value uint32) uint32
- type ClockLFCfg
- type EcbHalData
- type EcbHalDataBlock
- type Mutex
- type RadioRequestEarliest
- type RadioRequestNormal
- type SocEcbCiphertext
- type SocEcbCleartext
- type SocEcbKey
Constants ¶
View Source
const ( MUTEX_FREE = iota MUTEX_TAKEN )
View Source
const ( POWER_MODE_CONSTLAT = iota // Constant latency mode. See power management in the reference manual. POWER_MODE_LOWPWR // Low power mode. See power management in the reference manual. )
View Source
const ( POWER_THRESHOLD_V17 = 4 + iota // 1.7 Volts power failure threshold. POWER_THRESHOLD_V18 // 1.8 Volts power failure threshold. POWER_THRESHOLD_V19 // 1.9 Volts power failure threshold. POWER_THRESHOLD_V20 // 2.0 Volts power failure threshold. POWER_THRESHOLD_V21 // 2.1 Volts power failure threshold. POWER_THRESHOLD_V22 // 2.2 Volts power failure threshold. POWER_THRESHOLD_V23 // 2.3 Volts power failure threshold. POWER_THRESHOLD_V24 // 2.4 Volts power failure threshold. POWER_THRESHOLD_V25 // 2.5 Volts power failure threshold. POWER_THRESHOLD_V26 // 2.6 Volts power failure threshold. POWER_THRESHOLD_V27 // 2.7 Volts power failure threshold. POWER_THRESHOLD_V28 // 2.8 Volts power failure threshold. )
View Source
const ( POWER_THRESHOLDVDDH_V27 = iota // 2.7 Volts power failure threshold. POWER_THRESHOLDVDDH_V28 // 2.8 Volts power failure threshold. POWER_THRESHOLDVDDH_V29 // 2.9 Volts power failure threshold. POWER_THRESHOLDVDDH_V30 // 3.0 Volts power failure threshold. POWER_THRESHOLDVDDH_V31 // 3.1 Volts power failure threshold. POWER_THRESHOLDVDDH_V32 // 3.2 Volts power failure threshold. POWER_THRESHOLDVDDH_V33 // 3.3 Volts power failure threshold. POWER_THRESHOLDVDDH_V34 // 3.4 Volts power failure threshold. POWER_THRESHOLDVDDH_V35 // 3.5 Volts power failure threshold. POWER_THRESHOLDVDDH_V36 // 3.6 Volts power failure threshold. POWER_THRESHOLDVDDH_V37 // 3.7 Volts power failure threshold. POWER_THRESHOLDVDDH_V38 // 3.8 Volts power failure threshold. POWER_THRESHOLDVDDH_V39 // 3.9 Volts power failure threshold. POWER_THRESHOLDVDDH_V40 // 4.0 Volts power failure threshold. POWER_THRESHOLDVDDH_V41 // 4.1 Volts power failure threshold. POWER_THRESHOLDVDDH_V42 // 4.2 Volts power failure threshold. )
View Source
const ( POWER_DCDC_DISABLE = iota // The DCDC is disabled. POWER_DCDC_ENABLE // The DCDC is enabled. )
View Source
const ( RADIO_NOTIFICATION_DISTANCE_NONE = 0 + iota // The event does not have a notification. RADIO_NOTIFICATION_DISTANCE_800US // The distance from the active notification to start of radio activity. RADIO_NOTIFICATION_DISTANCE_1740US // The distance from the active notification to start of radio activity. RADIO_NOTIFICATION_DISTANCE_2680US // The distance from the active notification to start of radio activity. RADIO_NOTIFICATION_DISTANCE_3620US // The distance from the active notification to start of radio activity. RADIO_NOTIFICATION_DISTANCE_4560US // The distance from the active notification to start of radio activity. RADIO_NOTIFICATION_DISTANCE_5500US // The distance from the active notification to start of radio activity. )
View Source
const ( RADIO_NOTIFICATION_TYPE_NONE = 0 + iota // The event does not have a radio notification signal. RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE // Using interrupt for notification when the radio will be enabled. RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE // Using interrupt for notification when the radio has been disabled. RADIO_NOTIFICATION_TYPE_INT_ON_BOTH // Using interrupt for notification both when the radio will be enabled and disabled. )
View Source
const ( RADIO_CALLBACK_SIGNAL_TYPE_START = iota // This signal indicates the start of the radio timeslot. RADIO_CALLBACK_SIGNAL_TYPE_TIMER0 // This signal indicates the NRF_TIMER0 interrupt. RADIO_CALLBACK_SIGNAL_TYPE_RADIO // This signal indicates the NRF_RADIO interrupt. RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED // This signal indicates extend action failed. RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED // This signal indicates extend action succeeded. )
View Source
const ( RADIO_SIGNAL_CALLBACK_ACTION_NONE = iota // Return without action. RADIO_SIGNAL_CALLBACK_ACTION_EXTEND // Request an extension of the current timeslot. Maximum execution time for this action: @ref NRF_RADIO_MAX_EXTENSION_PROCESSING_TIME_US. This action must be started at least @ref NRF_RADIO_MIN_EXTENSION_MARGIN_US before the end of the timeslot. RADIO_SIGNAL_CALLBACK_ACTION_END // End the current radio timeslot. RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END // Request a new radio timeslot and end the current timeslot. )
View Source
const ( RADIO_HFCLK_CFG_XTAL_GUARANTEED = iota // The SoftDevice will guarantee that the high frequency clock source is the external crystal for the whole duration of the timeslot. This should be the preferred option for events that use the radio or require high timing accuracy. @note The SoftDevice will automatically turn on and off the external crystal, at the beginning and end of the timeslot, respectively. The crystal may also intentionally be left running after the timeslot, in cases where it is needed by the SoftDevice shortly after the end of the timeslot. RADIO_HFCLK_CFG_NO_GUARANTEE // This configuration allows for earlier and tighter scheduling of timeslots. The RC oscillator may be the clock source in part or for the whole duration of the timeslot. The RC oscillator's accuracy must therefore be taken into consideration. @note If the application will use the radio peripheral in timeslots with this configuration, it must make sure that the crystal is running and stable before starting the radio. )
View Source
const ( RADIO_PRIORITY_HIGH = iota // High (equal priority as the normal connection priority of the SoftDevice stack(s)). RADIO_PRIORITY_NORMAL // Normal (equal priority as the priority of secondary activities of the SoftDevice stack(s)). )
View Source
const ( RADIO_REQ_TYPE_EARLIEST = iota // Request radio timeslot as early as possible. This should always be used for the first request in a session. RADIO_REQ_TYPE_NORMAL // Normal radio timeslot request. )
View Source
const ( EVT_HFCLKSTARTED = iota // Event indicating that the HFCLK has started. EVT_POWER_FAILURE_WARNING // Event indicating that a power failure warning has occurred. EVT_FLASH_OPERATION_SUCCESS // Event indicating that the ongoing flash operation has completed successfully. EVT_FLASH_OPERATION_ERROR // Event indicating that the ongoing flash operation has timed out with an error. EVT_RADIO_BLOCKED // Event indicating that a radio timeslot was blocked. EVT_RADIO_CANCELED // Event indicating that a radio timeslot was canceled by SoftDevice. EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN // Event indicating that a radio timeslot signal callback handler return was invalid. EVT_RADIO_SESSION_IDLE // Event indicating that a radio timeslot session is idle. EVT_RADIO_SESSION_CLOSED // Event indicating that a radio timeslot session is closed. EVT_POWER_USB_POWER_READY // Event indicating that a USB 3.3 V supply is ready. EVT_POWER_USB_DETECTED // Event indicating that voltage supply is detected on VBUS. EVT_POWER_USB_REMOVED // Event indicating that voltage supply is removed from VBUS. EVT_NUMBER_OF_EVTS )
View Source
const BUGFIX_VERSION = (1)
View Source
const CLOCK_LF_ACCURACY_100_PPM = (3) // 100 ppm
View Source
const CLOCK_LF_ACCURACY_10_PPM = (8) // 10 ppm
View Source
const CLOCK_LF_ACCURACY_150_PPM = (2) // 150 ppm
View Source
const CLOCK_LF_ACCURACY_1_PPM = (11) // 1 ppm
View Source
const CLOCK_LF_ACCURACY_20_PPM = (7) // 20 ppm
View Source
const CLOCK_LF_ACCURACY_250_PPM = (0) // Default: 250 ppm
View Source
const CLOCK_LF_ACCURACY_2_PPM = (10) // 2 ppm
View Source
const CLOCK_LF_ACCURACY_30_PPM = (6) // 30 ppm
View Source
const CLOCK_LF_ACCURACY_500_PPM = (1) // 500 ppm
View Source
const CLOCK_LF_ACCURACY_50_PPM = (5) // 50 ppm
View Source
const CLOCK_LF_ACCURACY_5_PPM = (9) // 5 ppm
View Source
const CLOCK_LF_ACCURACY_75_PPM = (4) // 75 ppm
View Source
const CLOCK_LF_SRC_RC = (0) // LFCLK RC oscillator.
View Source
const CLOCK_LF_SRC_SYNTH = (2) // LFCLK Synthesized from HFCLK.
View Source
const CLOCK_LF_SRC_XTAL = (1) // LFCLK crystal oscillator.
View Source
const ERROR_BASE_NUM = (0x0) // Global error base
View Source
const ERROR_BUSY = (ERROR_BASE_NUM + 17) // Busy
View Source
const ERROR_CONN_COUNT = (ERROR_BASE_NUM + 18) // Maximum connection count exceeded.
View Source
const ERROR_DATA_SIZE = (ERROR_BASE_NUM + 12) // Invalid Data size
View Source
const ERROR_FORBIDDEN = (ERROR_BASE_NUM + 15) // Forbidden Operation
View Source
const ERROR_INTERNAL = (ERROR_BASE_NUM + 3) // Internal Error
View Source
const ERROR_INVALID_ADDR = (ERROR_BASE_NUM + 16) // Bad Memory Address
View Source
const ERROR_INVALID_DATA = (ERROR_BASE_NUM + 11) // Invalid Data
View Source
const ERROR_INVALID_FLAGS = (ERROR_BASE_NUM + 10) // Invalid Flags
View Source
const ERROR_INVALID_LENGTH = (ERROR_BASE_NUM + 9) // Invalid Length
View Source
const ERROR_INVALID_PARAM = (ERROR_BASE_NUM + 7) // Invalid Parameter
View Source
const ERROR_INVALID_STATE = (ERROR_BASE_NUM + 8) // Invalid state, operation disallowed in this state
View Source
const ERROR_NOT_FOUND = (ERROR_BASE_NUM + 5) // Not found
View Source
const ERROR_NOT_SUPPORTED = (ERROR_BASE_NUM + 6) // Not supported
View Source
const ERROR_NO_MEM = (ERROR_BASE_NUM + 4) // No Memory for operation
View Source
const ERROR_NULL = (ERROR_BASE_NUM + 14) // Null Pointer
View Source
const ERROR_RESOURCES = (ERROR_BASE_NUM + 19) // Not enough resources for operation
View Source
const ERROR_SDM_BASE_NUM = (0x1000) // SDM error base
View Source
const ERROR_SDM_INCORRECT_CLENR0 = (ERROR_SDM_BASE_NUM + 2) // Incorrect CLENR0 (can be caused by erroneous SoftDevice flashing).
View Source
const ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION = (ERROR_SDM_BASE_NUM + 1) // Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled SoftDevice interrupts).
View Source
const ERROR_SDM_LFCLK_SOURCE_UNKNOWN = (ERROR_SDM_BASE_NUM + 0) // Unknown LFCLK source.
View Source
const ERROR_SOC_BASE_NUM = (0x2000) // SoC error base
View Source
const ERROR_SOC_MUTEX_ALREADY_TAKEN = (ERROR_SOC_BASE_NUM + 0) // Mutex already taken
View Source
const ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE = (ERROR_SOC_BASE_NUM + 1) // NVIC interrupt not available
View Source
const ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED = (ERROR_SOC_BASE_NUM + 2) // NVIC interrupt priority not allowed
View Source
const ERROR_SOC_NVIC_SHOULD_NOT_RETURN = (ERROR_SOC_BASE_NUM + 3) // NVIC should not return
View Source
const ERROR_SOC_POWER_MODE_UNKNOWN = (ERROR_SOC_BASE_NUM + 4) // Power mode unknown
View Source
const ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN = (ERROR_SOC_BASE_NUM + 6) // Power off should not return
View Source
const ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN = (ERROR_SOC_BASE_NUM + 5) // Power POF threshold unknown
View Source
const ERROR_SOC_PPI_INVALID_CHANNEL = (ERROR_SOC_BASE_NUM + 8) // Invalid PPI Channel
View Source
const ERROR_SOC_PPI_INVALID_GROUP = (ERROR_SOC_BASE_NUM + 9) // Invalid PPI Group
View Source
const ERROR_SOC_RAND_NOT_ENOUGH_VALUES = (ERROR_SOC_BASE_NUM + 7) // RAND not enough values
View Source
const ERROR_SOFTDEVICE_NOT_ENABLED = (ERROR_BASE_NUM + 2) // SoftDevice has not been enabled
View Source
const ERROR_STK_BASE_NUM = (0x3000) // STK error base
View Source
const ERROR_SVC_HANDLER_MISSING = (ERROR_BASE_NUM + 1) // SVC handler is missing
View Source
const ERROR_TIMEOUT = (ERROR_BASE_NUM + 13) // Operation timed out
View Source
const EVT_IRQn = (irq.SWI2_EGU2) // SoftDevice Event IRQ number. Used for both protocol events and SoC events.
View Source
const FAULT_ID_APP_MEMACC = (FAULT_ID_APP_RANGE_START + 1) // Application invalid memory access. The info parameter will contain 0x00000000, in case of SoftDevice RAM access violation. In case of SoftDevice peripheral register violation the info parameter will contain the sub-region number of PREGION[0], on whose address range the disallowed write access caused the memory access fault.
View Source
const FAULT_ID_APP_RANGE_START = 0x00001000 // Application ID range start.
View Source
const FAULT_ID_SD_ASSERT = (FAULT_ID_SD_RANGE_START + 1) // SoftDevice assertion. The info parameter is reserved for future used.
View Source
const FAULT_ID_SD_RANGE_START = 0x00000000 // SoftDevice ID range start.
View Source
const FLASH_SIZE = 0x26000
View Source
const FWID_OFFSET = (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x0C)
View Source
const ID_OFFSET = (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x10)
View Source
const INFO_STRUCT_SIZE_OFFSET = (SOFTDEVICE_INFO_STRUCT_OFFSET)
View Source
const MAJOR_VERSION = (7)
View Source
const MBR_SIZE = 0
View Source
const MINOR_VERSION = (0)
View Source
const PPI_CHANNELS_USED = 0xFFFE0000 /**< PPI channels utilized by SotfDevice (not available to the application). */
View Source
const PPI_GROUPS_USED = 0x0000000C /**< PPI groups utilized by SoftDevice (not available to the application). */
View Source
const RADIO_DISTANCE_MAX_US = (128000000 - 1) // The longest timeslot distance, in microseconds, allowed for the distance parameter (see @ref nrf_radio_request_normal_t) in the request.
View Source
const RADIO_EARLIEST_TIMEOUT_MAX_US = (128000000 - 1) // The longest timeout, in microseconds, allowed when requesting the earliest possible timeslot.
View Source
const RADIO_LENGTH_MAX_US = (100000) // The longest allowed radio timeslot, in microseconds.
View Source
const RADIO_LENGTH_MIN_US = (100) // The shortest allowed radio timeslot, in microseconds.
View Source
const RADIO_MAX_EXTENSION_PROCESSING_TIME_US = (20)
View Source
const RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US = (200)
View Source
const RADIO_MIN_EXTENSION_MARGIN_US = (82)
View Source
const RADIO_NOTIFICATION_INACTIVE_GUARANTEED_TIME_US = (62)
View Source
const RADIO_NOTIFICATION_IRQn = (irq.SWI1_EGU1) // The radio notification IRQ number.
View Source
const RADIO_START_JITTER_US = (2) // The maximum jitter in @ref NRF_RADIO_CALLBACK_SIGNAL_TYPE_START relative to the requested start time.
View Source
const SDM_INFO_FIELD_INVALID = (0)
View Source
const SDM_SVC_BASE = 0x10
View Source
const SIZE_OFFSET = (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x08)
View Source
const SOC_ECB_CIPHERTEXT_LENGTH = (SOC_ECB_CLEARTEXT_LENGTH) // ECB ciphertext length.
View Source
const SOC_ECB_CLEARTEXT_LENGTH = (16) // ECB cleartext length.
View Source
const SOC_ECB_KEY_LENGTH = (16) // ECB key length.
View Source
const SOC_SD_PPI_CHANNELS_SD_DISABLED_MSK = ((uint32)(0))
View Source
const SOC_SD_PPI_CHANNELS_SD_ENABLED_MSK = ((uint32)((1 << 17) | (1 << 18) | (1 << 19) | (1 << 20) | (1 << 21) | (1 << 22) | (1 << 23) | (1 << 24) | (1 << 25) | (1 << 26) | (1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) | (1 << 31)))
View Source
const SOC_SD_PPI_GROUPS_SD_DISABLED_MSK = ((uint32)(0))
View Source
const SOC_SD_PPI_GROUPS_SD_ENABLED_MSK = ((uint32)((1 << 4) | (1 << 5)))
View Source
const SOC_SVC_BASE = (0x20) // Base value for SVCs that are available when the SoftDevice is disabled.
View Source
const SOC_SVC_BASE_NOT_AVAILABLE = (0x2C) // Base value for SVCs that are not available when the SoftDevice is disabled.
View Source
const SOFTDEVICE_INFO_STRUCT_ADDRESS = (SOFTDEVICE_INFO_STRUCT_OFFSET + MBR_SIZE)
View Source
const SOFTDEVICE_INFO_STRUCT_OFFSET = (0x2000)
View Source
const SUCCESS = (ERROR_BASE_NUM + 0) // Successful command
View Source
const SWI_USED = 0x0000003C /**< Software interrupts used by SoftDevice */
View Source
const TIMERS_USED = 0x00000001 /**< Timers used by SoftDevice. */
View Source
const UNIQUE_STR_OFFSET = (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x18)
View Source
const UNIQUE_STR_SIZE = 20
View Source
const VARIANT_ID = 140
View Source
const VERSION = (MAJOR_VERSION*1000000 + MINOR_VERSION*1000 + BUGFIX_VERSION)
View Source
const VERSION_OFFSET = (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x14)
Variables ¶
This section is empty.
Functions ¶
func AcquireMutex ¶
func AssignPPIChannel ¶
func AssignPPIGroup ¶
func CloseRadioSession ¶
func CloseRadioSession() uint32
func ClrPPIChannelEnable ¶
func ClrPowerGpregret ¶
func ClrPowerRamPower ¶
func ClrPowerResetReason ¶
func DisablePPIGroupTask ¶
func EnablePPIGroupTask ¶
func EnablePowerPof ¶
func EnablePowerUsbdetected ¶
func EnablePowerUsbpwrrdy ¶
func EnablePowerUsbremoved ¶
func EnableSoftdevice ¶
func EnableSoftdevice(clock_lf_cfg *ClockLFCfg, fault_handler unsafe.Pointer) uint32
::sd_softdevice_enable
func EncryptEcbBlock ¶
func EncryptEcbBlock(ecb_data *EcbHalData) uint32
func EncryptEcbBlocks ¶
func EncryptEcbBlocks(block_count uint8, data_blocks *EcbHalDataBlock) uint32
func EraseFlashPage ¶
func GetPPIChannelEnable ¶
func GetPPIGroup ¶
func GetPowerGpregret ¶
func GetPowerRamPower ¶
func GetPowerResetReason ¶
func GetPowerUsbregstatus ¶
func IsEnabledSoftdevice ¶
::sd_softdevice_is_enabled
func IsRunningClockHF ¶
func OffPowerSystem ¶
func OffPowerSystem() uint32
func OpenRadioSession ¶
func ReleaseClockHF ¶
func ReleaseClockHF() uint32
func ReleaseMutex ¶
func RequestClockHF ¶
func RequestClockHF() uint32
func RequestRadio ¶
func RequestRadio(request *RadioRequest) uint32
func SetPPIChannelEnable ¶
func SetPowerDcdc0Mode ¶
func SetPowerDcdcMode ¶
func SetPowerGpregret ¶
func SetPowerMode ¶
func SetPowerPofThreshold ¶
func SetPowerRamPower ¶
func SetRadioNotificationCfg ¶
func SetSoftdeviceVectorTableBase ¶
::sd_softdevice_vector_table_base_set
func WaitAppEvt ¶
func WaitAppEvt() uint32
func WriteProtectedRegister ¶
Types ¶
type ClockLFCfg ¶
type ClockLFCfg struct { Source uint8 // LF oscillator clock source, see @ref NRF_CLOCK_LF_SRC. RCCtiv uint8 // Only for ::NRF_CLOCK_LF_SRC_RC: Calibration timer interval in 1/4 second units (nRF52: 1-32). @note To avoid excessive clock drift, 0.5 degrees Celsius is the maximum temperature change allowed in one calibration timer interval. The interval should be selected to ensure this. @note Must be 0 if source is not ::NRF_CLOCK_LF_SRC_RC. RCTempCtiv uint8 // Only for ::NRF_CLOCK_LF_SRC_RC: How often (in number of calibration intervals) the RC oscillator shall be calibrated if the temperature hasn't changed. 0: Always calibrate even if the temperature hasn't changed. 1: Only calibrate if the temperature has changed (legacy - nRF51 only). 2-33: Check the temperature and only calibrate if it has changed, however calibration will take place every rc_temp_ctiv intervals in any case. @note Must be 0 if source is not ::NRF_CLOCK_LF_SRC_RC. @note For nRF52, the application must ensure calibration at least once every 8 seconds to ensure +/-500 ppm clock stability. The recommended configuration for ::NRF_CLOCK_LF_SRC_RC on nRF52 is rc_ctiv=16 and rc_temp_ctiv=2. This will ensure calibration at least once every 8 seconds and for temperature changes of 0.5 degrees Celsius every 4 seconds. See the Product Specification for the nRF52 device being used for more information. Accuracy uint8 // External clock accuracy used in the LL to compute timing windows, see @ref NRF_CLOCK_LF_ACCURACY. }
type EcbHalData ¶
type EcbHalData struct { Key SocEcbKey // Encryption key. Cleartext SocEcbCleartext // Cleartext data. Ciphertext SocEcbCiphertext // Ciphertext data. }
type EcbHalDataBlock ¶
type EcbHalDataBlock struct { Key *SocEcbKey // Pointer to the Encryption key. Cleartext *SocEcbCleartext // Pointer to the Cleartext data. Ciphertext *SocEcbCiphertext // Pointer to the Ciphertext data. }
type RadioRequestEarliest ¶
type RadioRequestEarliest struct { HF uint8 // High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. Priority uint8 // The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. LengthUs uint32 // The radio timeslot length (in the range 100 to 100,000] microseconds). TimeoutUs uint32 // Longest acceptable delay until the start of the requested timeslot (up to @ref NRF_RADIO_EARLIEST_TIMEOUT_MAX_US microseconds). }
type RadioRequestNormal ¶
type RadioRequestNormal struct { HF uint8 // High frequency clock source, see @ref NRF_RADIO_HFCLK_CFG. Priority uint8 // The radio timeslot priority, see @ref NRF_RADIO_PRIORITY. DistanceUs uint32 // Distance from the start of the previous radio timeslot (up to @ref NRF_RADIO_DISTANCE_MAX_US microseconds). LengthUs uint32 // The radio timeslot length (in the range [100..100,000] microseconds). }
type SocEcbCiphertext ¶
type SocEcbCiphertext [SOC_ECB_CIPHERTEXT_LENGTH]uint8
type SocEcbCleartext ¶
type SocEcbCleartext [SOC_ECB_CLEARTEXT_LENGTH]uint8
type SocEcbKey ¶
type SocEcbKey [SOC_ECB_KEY_LENGTH]uint8
Click to show internal directories.
Click to hide internal directories.