ACU6 Device API
Data Structures | Enumerations | Enumerator | Functions
ipc_digital_outputs

Digital Outputs Service. More...

Data Structures

struct  a_ipc_dyn_array_enum_digital_output_result
 Dynamic-length array of a_ipc_enum_digital_output_result. More...
 
struct  a_ipc_dyn_array_enum_digital_output_channel
 Dynamic-length array of a_ipc_enum_digital_output_channel. More...
 
struct  a_ipc_dyn_array_enum_digital_output_driver_type
 Dynamic-length array of a_ipc_enum_digital_output_driver_type. More...
 
struct  a_ipc_dyn_array_enum_digital_output_state
 Dynamic-length array of a_ipc_enum_digital_output_state. More...
 
struct  a_ipc_msg_digital_output_channel_configure_req
 Configure a digital output channel. More...
 
struct  a_ipc_msg_digital_output_channel_configure_rsp
 Sent in response to a_ipc_msg_digital_output_channel_configure_req. More...
 
struct  a_ipc_msg_digital_output_channel_request_req
 Request a digital output channel to be enabled. More...
 
struct  a_ipc_msg_digital_output_channel_request_rsp
 Sent in response to a_ipc_msg_digital_output_channel_request_req. More...
 
struct  a_ipc_msg_digital_output_channel_release_req_norsp
 Release a digital output channel for given 'user'. More...
 
struct  a_ipc_msg_digital_output_channel_status_req
 Read status of a digital output channel. More...
 
struct  a_ipc_msg_digital_output_channel_status_rsp
 The current status of a digital output channel. More...
 

Enumerations

enum  a_ipc_enum_digital_output_result {
  A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_OK , A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_INVALID_PARAMETER , A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_FREQUENCY_OUT_OF_RANGE , A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_DUTY_CYCLE_OUT_OF_RANGE ,
  A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_INVALID_DRIVER_TYPE , A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_CHANNEL_NOT_AVAILABLE , A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_UNKNOWN
}
 Result codes. More...
 
enum  a_ipc_enum_digital_output_channel {
  A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_1 , A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_2 , A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_3 , A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_4 ,
  A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_NUMBER_OF_CHANNELS
}
 Digital channels. More...
 
enum  a_ipc_enum_digital_output_driver_type { A_IPC_ENUM_DIGITAL_OUTPUT_DRIVER_TYPE_LOW_SIDE_DRIVER , A_IPC_ENUM_DIGITAL_OUTPUT_DRIVER_TYPE_HIGH_SIDE_DRIVER }
 Type of digital output driver. More...
 
enum  a_ipc_enum_digital_output_state { A_IPC_ENUM_DIGITAL_OUTPUT_STATE_DISABLED , A_IPC_ENUM_DIGITAL_OUTPUT_STATE_ENABLED }
 State of a digital output. More...
 

Functions

A_IPC_RESULT a_ipc_init_digital_output_channel_configure_req (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_configure_req. More...
 
A_IPC_RESULT a_ipc_init_digital_output_channel_configure_rsp (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_configure_rsp. More...
 
A_IPC_RESULT a_ipc_init_digital_output_channel_request_req (a_ipc_msg *msg, uint32_t user_maxlength)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_request_req. More...
 
A_IPC_RESULT a_ipc_init_digital_output_channel_request_rsp (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_request_rsp. More...
 
A_IPC_RESULT a_ipc_init_digital_output_channel_release_req_norsp (a_ipc_msg *msg, uint32_t user_maxlength)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_release_req_norsp. More...
 
A_IPC_RESULT a_ipc_init_digital_output_channel_status_req (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_status_req. More...
 
A_IPC_RESULT a_ipc_init_digital_output_channel_status_rsp (a_ipc_msg *msg)
 Initialize the message buffer to contain a_ipc_msg_digital_output_channel_status_rsp. More...
 

Detailed Description

Digital Outputs Service.

This page contains documentation of the Digital Outputs Service API.

The available digital outputs and the possible configurations are hardware dependent. Check the hardware specification to find the available ports and possible configurations for your device.


Data Structure Documentation

◆ a_ipc_dyn_array_enum_digital_output_result

struct a_ipc_dyn_array_enum_digital_output_result

Dynamic-length array of a_ipc_enum_digital_output_result.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_digital_output_result * value The contents of the array.

◆ a_ipc_dyn_array_enum_digital_output_channel

struct a_ipc_dyn_array_enum_digital_output_channel

Dynamic-length array of a_ipc_enum_digital_output_channel.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_digital_output_channel * value The contents of the array.

◆ a_ipc_dyn_array_enum_digital_output_driver_type

struct a_ipc_dyn_array_enum_digital_output_driver_type

Dynamic-length array of a_ipc_enum_digital_output_driver_type.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_digital_output_driver_type * value The contents of the array.

◆ a_ipc_dyn_array_enum_digital_output_state

struct a_ipc_dyn_array_enum_digital_output_state

Dynamic-length array of a_ipc_enum_digital_output_state.

Data Fields
uint32_t length Length of the array (number of elements)
a_ipc_enum_digital_output_state * value The contents of the array.

◆ a_ipc_msg_digital_output_channel_configure_req

struct a_ipc_msg_digital_output_channel_configure_req

Configure a digital output channel.

Response is delivered in a_ipc_msg_digital_output_channel_configure_rsp.

Create using a_ipc_init_digital_output_channel_configure_req().

Message type is A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_CONFIGURE_REQ.

Data Fields
a_ipc_enum_digital_output_channel channel The channel to configure.
a_ipc_enum_digital_output_driver_type driver_type Driver type.
uint8_t duty_cycle PWM duty cycle [0% to 100%].
uint16_t frequency PWM switching frequency [Hz].

Check hardware specification for limits. A value outside of hardware limitation will result in an ERROR_FREQUENCY_OUT_OF_RANGE response.

◆ a_ipc_msg_digital_output_channel_configure_rsp

struct a_ipc_msg_digital_output_channel_configure_rsp
Data Fields
a_ipc_enum_digital_output_channel channel The channel that was configured.
a_ipc_enum_digital_output_result result Result of the operation.

◆ a_ipc_msg_digital_output_channel_request_req

struct a_ipc_msg_digital_output_channel_request_req

Request a digital output channel to be enabled.

The channel will be enabled if there is at least one user request.

Response is delivered in a_ipc_msg_digital_output_channel_request_rsp.

Create using a_ipc_init_digital_output_channel_request_req().

Message type is A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_REQUEST_REQ.

Data Fields
a_ipc_enum_digital_output_channel channel The channel to request.
a_ipc_dyn_string user User identifier, max 15 characters long.

◆ a_ipc_msg_digital_output_channel_request_rsp

struct a_ipc_msg_digital_output_channel_request_rsp
Data Fields
a_ipc_enum_digital_output_channel channel The channel that was requested.
a_ipc_enum_digital_output_result result Result of the operation.

◆ a_ipc_msg_digital_output_channel_release_req_norsp

struct a_ipc_msg_digital_output_channel_release_req_norsp

Release a digital output channel for given 'user'.

The channel will be disabled if there are no outstanding requests.

Create using a_ipc_init_digital_output_channel_release_req_norsp().

Message type is A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_RELEASE_REQ_NORSP.

Data Fields
a_ipc_enum_digital_output_channel channel The channel to release.
a_ipc_dyn_string user User identifier, max 15 characters long.

◆ a_ipc_msg_digital_output_channel_status_req

struct a_ipc_msg_digital_output_channel_status_req

Read status of a digital output channel.

Response is delivered in a_ipc_msg_digital_output_channel_status_rsp.

Create using a_ipc_init_digital_output_channel_status_req().

Message type is A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_STATUS_REQ.

Data Fields
a_ipc_enum_digital_output_channel channel The channel to read status of.

◆ a_ipc_msg_digital_output_channel_status_rsp

struct a_ipc_msg_digital_output_channel_status_rsp

The current status of a digital output channel.

values are only valid when result is OK.

Sent in response to a_ipc_msg_digital_output_channel_status_req.

Create using a_ipc_init_digital_output_channel_status_rsp().

Message type is A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_STATUS_RSP.

Data Fields
a_ipc_enum_digital_output_channel channel The channel that the status is valid for.
a_ipc_enum_digital_output_driver_type driver_type Configured Driver type.
uint8_t duty_cycle Configured PWM duty cycle [0% to 100%].
uint16_t frequency Configured PWM switching frequency [Hz].
uint16_t frequency_max Maximum configurable PWM switching frequency of this channel [Hz].
uint16_t frequency_min Minimum configurable PWM switching frequency of this channel [Hz].
a_ipc_enum_digital_output_result result Result of the operation.
a_ipc_enum_digital_output_state state The state of the channel.

Enumeration Type Documentation

◆ a_ipc_enum_digital_output_channel

Digital channels.

These channels (DOUT_1 - DOUT_4) correspond to physical pins in the main connector. It is possible that not all channels are available. Check hardware specification to find available channels.

Enumerator
A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_1 

DOUT_1.

A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_2 

DOUT_2.

A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_3 

DOUT_3.

A_IPC_ENUM_DIGITAL_OUTPUT_CHANNEL_DOUT_4 

DOUT_4.

◆ a_ipc_enum_digital_output_driver_type

Type of digital output driver.

Enumerator
A_IPC_ENUM_DIGITAL_OUTPUT_DRIVER_TYPE_LOW_SIDE_DRIVER 

Low side driver.

A_IPC_ENUM_DIGITAL_OUTPUT_DRIVER_TYPE_HIGH_SIDE_DRIVER 

High side driver.

◆ a_ipc_enum_digital_output_result

Result codes.

Enumerator
A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_OK 

OK.

A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_INVALID_PARAMETER 

Invalid paramter.

A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_FREQUENCY_OUT_OF_RANGE 

Frequency out of range.

A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_DUTY_CYCLE_OUT_OF_RANGE 

Duty cycle out of range.

A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_INVALID_DRIVER_TYPE 

Invalid driver type.

A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_CHANNEL_NOT_AVAILABLE 

Channel not available.

A_IPC_ENUM_DIGITAL_OUTPUT_RESULT_ERROR_UNKNOWN 

Unknown.

◆ a_ipc_enum_digital_output_state

State of a digital output.

Enumerator
A_IPC_ENUM_DIGITAL_OUTPUT_STATE_DISABLED 

Disabled.

A_IPC_ENUM_DIGITAL_OUTPUT_STATE_ENABLED 

Enabled.

Function Documentation

◆ a_ipc_init_digital_output_channel_configure_req()

A_IPC_RESULT a_ipc_init_digital_output_channel_configure_req ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_configure_req.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_CONFIGURE_REQ.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_digital_output_channel_configure_rsp()

A_IPC_RESULT a_ipc_init_digital_output_channel_configure_rsp ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_configure_rsp.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_CONFIGURE_RSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_digital_output_channel_release_req_norsp()

A_IPC_RESULT a_ipc_init_digital_output_channel_release_req_norsp ( a_ipc_msg msg,
uint32_t  user_maxlength 
)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_release_req_norsp.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_RELEASE_REQ_NORSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize
user_maxlengthThe maximum string length for user in the message.

◆ a_ipc_init_digital_output_channel_request_req()

A_IPC_RESULT a_ipc_init_digital_output_channel_request_req ( a_ipc_msg msg,
uint32_t  user_maxlength 
)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_request_req.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_REQUEST_REQ.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize
user_maxlengthThe maximum string length for user in the message.

◆ a_ipc_init_digital_output_channel_request_rsp()

A_IPC_RESULT a_ipc_init_digital_output_channel_request_rsp ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_request_rsp.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_REQUEST_RSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_digital_output_channel_status_req()

A_IPC_RESULT a_ipc_init_digital_output_channel_status_req ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_status_req.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_STATUS_REQ.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

◆ a_ipc_init_digital_output_channel_status_rsp()

A_IPC_RESULT a_ipc_init_digital_output_channel_status_rsp ( a_ipc_msg msg)

Initialize the message buffer to contain a_ipc_msg_digital_output_channel_status_rsp.

msg->info.type will be A_IPC_MSG_DIGITAL_OUTPUT_CHANNEL_STATUS_RSP.

This function can be called on an already initialized message to change its type.

Parameters
msgThe message buffer to initialize

Variable Documentation

◆ channel [1/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_configure_req::channel

The channel to configure.

◆ channel [2/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_configure_rsp::channel

The channel that was configured.

◆ channel [3/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_request_req::channel

The channel to request.

◆ channel [4/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_request_rsp::channel

The channel that was requested.

◆ channel [5/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_release_req_norsp::channel

The channel to release.

◆ channel [6/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_status_req::channel

The channel to read status of.

◆ channel [7/7]

a_ipc_enum_digital_output_channel a_ipc_msg_digital_output_channel_status_rsp::channel

The channel that the status is valid for.

◆ driver_type [1/2]

a_ipc_enum_digital_output_driver_type a_ipc_msg_digital_output_channel_configure_req::driver_type

Driver type.

◆ driver_type [2/2]

a_ipc_enum_digital_output_driver_type a_ipc_msg_digital_output_channel_status_rsp::driver_type

Configured Driver type.

◆ duty_cycle [1/2]

uint8_t a_ipc_msg_digital_output_channel_configure_req::duty_cycle

PWM duty cycle [0% to 100%].

◆ duty_cycle [2/2]

uint8_t a_ipc_msg_digital_output_channel_status_rsp::duty_cycle

Configured PWM duty cycle [0% to 100%].

◆ frequency [1/2]

uint16_t a_ipc_msg_digital_output_channel_configure_req::frequency

PWM switching frequency [Hz].

Check hardware specification for limits. A value outside of hardware limitation will result in an ERROR_FREQUENCY_OUT_OF_RANGE response.

◆ frequency [2/2]

uint16_t a_ipc_msg_digital_output_channel_status_rsp::frequency

Configured PWM switching frequency [Hz].

◆ frequency_max

uint16_t a_ipc_msg_digital_output_channel_status_rsp::frequency_max

Maximum configurable PWM switching frequency of this channel [Hz].

◆ frequency_min

uint16_t a_ipc_msg_digital_output_channel_status_rsp::frequency_min

Minimum configurable PWM switching frequency of this channel [Hz].

◆ result [1/3]

a_ipc_enum_digital_output_result a_ipc_msg_digital_output_channel_configure_rsp::result

Result of the operation.

◆ result [2/3]

a_ipc_enum_digital_output_result a_ipc_msg_digital_output_channel_request_rsp::result

Result of the operation.

◆ result [3/3]

a_ipc_enum_digital_output_result a_ipc_msg_digital_output_channel_status_rsp::result

Result of the operation.

◆ state

a_ipc_enum_digital_output_state a_ipc_msg_digital_output_channel_status_rsp::state

The state of the channel.

◆ user [1/2]

a_ipc_dyn_string a_ipc_msg_digital_output_channel_request_req::user

User identifier, max 15 characters long.

◆ user [2/2]

a_ipc_dyn_string a_ipc_msg_digital_output_channel_release_req_norsp::user

User identifier, max 15 characters long.