Added missing prototypes.

This commit is contained in:
Florian Pose 2024-05-22 12:36:16 +02:00
parent 95a25495af
commit 7b40d5fc40
11 changed files with 119 additions and 32 deletions

View File

@ -70,7 +70,11 @@
/****************************************************************************/
// prototypes for private methods
void ec_eoe_flush(ec_eoe_t *);
int ec_eoe_send(ec_eoe_t *);
/****************************************************************************/
// state functions
void ec_eoe_state_rx_start(ec_eoe_t *);

View File

@ -59,6 +59,19 @@
/****************************************************************************/
// prototypes for private methods
void ec_canopen_abort_msg(const ec_slave_t *, uint32_t);
int ec_fsm_coe_check_emergency(const ec_fsm_coe_t *, const uint8_t *, size_t);
int ec_fsm_coe_prepare_dict(ec_fsm_coe_t *, ec_datagram_t *);
int ec_fsm_coe_dict_prepare_desc(ec_fsm_coe_t *, ec_datagram_t *);
int ec_fsm_coe_dict_prepare_entry(ec_fsm_coe_t *, ec_datagram_t *);
int ec_fsm_coe_prepare_down_start(ec_fsm_coe_t *, ec_datagram_t *);
void ec_fsm_coe_down_prepare_segment_request(ec_fsm_coe_t *, ec_datagram_t *);
int ec_fsm_coe_prepare_up(ec_fsm_coe_t *, ec_datagram_t *);
void ec_fsm_coe_up_prepare_segment_request(ec_fsm_coe_t *, ec_datagram_t *);
/****************************************************************************/
void ec_fsm_coe_dict_start(ec_fsm_coe_t *, ec_datagram_t *);
void ec_fsm_coe_dict_request(ec_fsm_coe_t *, ec_datagram_t *);
void ec_fsm_coe_dict_check(ec_fsm_coe_t *, ec_datagram_t *);
@ -267,7 +280,7 @@ int ec_fsm_coe_success(
* \return The data were an emergency request.
*/
int ec_fsm_coe_check_emergency(
ec_fsm_coe_t *fsm, /**< Finite state machine */
const ec_fsm_coe_t *fsm, /**< Finite state machine */
const uint8_t *data, /**< CoE mailbox data. */
size_t size /**< CoE mailbox data size. */
)

View File

@ -33,6 +33,27 @@
/****************************************************************************/
/** Maximum time to wait for a set IP parameter response.
*/
#define EC_EOE_RESPONSE_TIMEOUT 3000 // [ms]
/****************************************************************************/
// prototypes for private functions
void memcpy_swap32(void *, const void *);
int ec_fsm_eoe_prepare_set(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_start(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_request(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_check(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_response(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_end(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_error(ec_fsm_eoe_t *, ec_datagram_t *);
/****************************************************************************/
/** Host-architecture-independent 32-bit swap function.
*
* The internal storage of struct in_addr is always big-endian.
@ -51,22 +72,6 @@ void memcpy_swap32(void *dst, const void *src)
/****************************************************************************/
/** Maximum time to wait for a set IP parameter response.
*/
#define EC_EOE_RESPONSE_TIMEOUT 3000 // [ms]
/****************************************************************************/
void ec_fsm_eoe_set_ip_start(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_request(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_check(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_set_ip_response(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_end(ec_fsm_eoe_t *, ec_datagram_t *);
void ec_fsm_eoe_error(ec_fsm_eoe_t *, ec_datagram_t *);
/****************************************************************************/
/** Constructor.
*/
void ec_fsm_eoe_init(

View File

@ -44,6 +44,18 @@
/****************************************************************************/
// prototypes for private methods
void ec_fsm_master_restart(ec_fsm_master_t *);
int ec_fsm_master_action_process_sii(ec_fsm_master_t *);
int ec_fsm_master_action_process_int_request(ec_fsm_master_t *);
void ec_fsm_master_action_idle(ec_fsm_master_t *);
void ec_fsm_master_action_next_slave_state(ec_fsm_master_t *);
void ec_fsm_master_action_configure(ec_fsm_master_t *);
u64 ec_fsm_master_dc_offset32(ec_fsm_master_t *, u64, u64, unsigned long);
u64 ec_fsm_master_dc_offset64(ec_fsm_master_t *, u64, u64, unsigned long);
/****************************************************************************/
void ec_fsm_master_state_start(ec_fsm_master_t *);
void ec_fsm_master_state_broadcast(ec_fsm_master_t *);
void ec_fsm_master_state_read_state(ec_fsm_master_t *);

View File

@ -34,6 +34,14 @@
/****************************************************************************/
// prototypes for private methods
void ec_fsm_pdo_print(const ec_fsm_pdo_t *);
int ec_fsm_pdo_running(const ec_fsm_pdo_t *);
ec_pdo_t *ec_fsm_pdo_conf_action_next_pdo(const ec_fsm_pdo_t *,
const struct list_head *);
/****************************************************************************/
void ec_fsm_pdo_read_state_start(ec_fsm_pdo_t *, ec_datagram_t *);
void ec_fsm_pdo_read_state_pdo_count(ec_fsm_pdo_t *, ec_datagram_t *);
void ec_fsm_pdo_read_state_pdo(ec_fsm_pdo_t *, ec_datagram_t *);
@ -94,7 +102,7 @@ void ec_fsm_pdo_clear(
/** Print the current and desired PDO assignment.
*/
void ec_fsm_pdo_print(
ec_fsm_pdo_t *fsm /**< PDO configuration state machine. */
const ec_fsm_pdo_t *fsm /**< PDO configuration state machine. */
)
{
printk(KERN_CONT "Currently assigned PDOs: ");

View File

@ -34,6 +34,14 @@
/****************************************************************************/
// prototypes for private methods
void ec_fsm_pdo_entry_print(const ec_fsm_pdo_entry_t *);
int ec_fsm_pdo_entry_running(const ec_fsm_pdo_entry_t *);
ec_pdo_entry_t *ec_fsm_pdo_entry_conf_next_entry(const ec_fsm_pdo_entry_t *,
const struct list_head *);
/****************************************************************************/
void ec_fsm_pdo_entry_read_state_start(ec_fsm_pdo_entry_t *, ec_datagram_t *);
void ec_fsm_pdo_entry_read_state_count(ec_fsm_pdo_entry_t *, ec_datagram_t *);
void ec_fsm_pdo_entry_read_state_entry(ec_fsm_pdo_entry_t *, ec_datagram_t *);
@ -82,7 +90,7 @@ void ec_fsm_pdo_entry_clear(
/** Print the current and desired PDO mapping.
*/
void ec_fsm_pdo_entry_print(
ec_fsm_pdo_entry_t *fsm /**< PDO mapping state machine. */
const ec_fsm_pdo_entry_t *fsm /**< PDO mapping state machine. */
)
{
printk(KERN_CONT "Currently mapped PDO entries: ");

View File

@ -52,6 +52,11 @@
/****************************************************************************/
// prototypes for private methods
int ec_fsm_slave_config_running(const ec_fsm_slave_config_t *);
/****************************************************************************/
void ec_fsm_slave_config_state_start(ec_fsm_slave_config_t *);
void ec_fsm_slave_config_state_init(ec_fsm_slave_config_t *);
void ec_fsm_slave_config_state_clear_fmmus(ec_fsm_slave_config_t *);

View File

@ -35,6 +35,19 @@
/****************************************************************************/
// prototypes for private methods
int ec_fsm_slave_scan_running(const ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_sii_size(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_assign_sii(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_datalink(ec_fsm_slave_scan_t *);
#ifdef EC_REGALIAS
void ec_fsm_slave_scan_enter_regalias(ec_fsm_slave_scan_t *);
#endif
void ec_fsm_slave_scan_enter_preop(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_pdos(ec_fsm_slave_scan_t *);
/****************************************************************************/
void ec_fsm_slave_scan_state_start(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_address(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_state(ec_fsm_slave_scan_t *);
@ -57,13 +70,6 @@ void ec_fsm_slave_scan_state_pdos(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_end(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_error(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_datalink(ec_fsm_slave_scan_t *);
#ifdef EC_REGALIAS
void ec_fsm_slave_scan_enter_regalias(ec_fsm_slave_scan_t *);
#endif
void ec_fsm_slave_scan_enter_preop(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_pdos(ec_fsm_slave_scan_t *);
/****************************************************************************/
/** Constructor.
@ -115,7 +121,9 @@ void ec_fsm_slave_scan_start(
\return false, if state machine has terminated
*/
int ec_fsm_slave_scan_running(const ec_fsm_slave_scan_t *fsm /**< slave state machine */)
int ec_fsm_slave_scan_running(
const ec_fsm_slave_scan_t *fsm /**< slave state machine */
)
{
return fsm->state != ec_fsm_slave_scan_state_end
&& fsm->state != ec_fsm_slave_scan_state_error;

View File

@ -56,6 +56,14 @@ enum {
/****************************************************************************/
// prototypes for private methods
void ec_print_soe_error(const ec_slave_t *, uint16_t);
void ec_fsm_soe_print_error(ec_fsm_soe_t *);
int ec_fsm_soe_prepare_read(ec_fsm_soe_t *, ec_datagram_t *);
void ec_fsm_soe_write_next_fragment(ec_fsm_soe_t *, ec_datagram_t *);
/****************************************************************************/
void ec_fsm_soe_read_start(ec_fsm_soe_t *, ec_datagram_t *);
void ec_fsm_soe_read_request(ec_fsm_soe_t *, ec_datagram_t *);
void ec_fsm_soe_read_check(ec_fsm_soe_t *, ec_datagram_t *);

View File

@ -97,8 +97,18 @@ const unsigned int rate_intervals[] = {
/****************************************************************************/
void ec_master_clear_config(ec_master_t *);
void ec_master_clear_slave_configs(ec_master_t *);
void ec_master_clear_domains(ec_master_t *);
int ec_master_thread_start(ec_master_t *, int (*)(void *), const char *);
void ec_master_thread_stop(ec_master_t *);
void ec_master_inject_external_datagrams(ec_master_t *);
ec_datagram_t *ec_master_get_external_datagram(ec_master_t *);
void ec_master_exec_slave_fsms(ec_master_t *);
void ec_master_send_datagrams(ec_master_t *, ec_device_index_t);
int ec_master_calc_topology_rec(ec_master_t *, ec_slave_t *, unsigned int *);
void ec_master_calc_topology(ec_master_t *);
void ec_master_calc_transmission_delays(ec_master_t *);
static int ec_master_idle_thread(void *);
static int ec_master_operation_thread(void *);
#ifdef EC_EOE

View File

@ -42,7 +42,13 @@ extern const ec_code_msg_t al_status_messages[];
/****************************************************************************/
char *ec_slave_sii_string(ec_slave_t *, unsigned int);
// prototypes for private methods
char *ec_slave_sii_string(const ec_slave_t *, unsigned int);
void ec_slave_find_names_for_pdo(ec_slave_t *, ec_pdo_t *);
unsigned int ec_slave_get_previous_port(const ec_slave_t *, unsigned int);
unsigned int ec_slave_get_next_port(const ec_slave_t *, unsigned int);
uint32_t ec_slave_calc_rtt_sum(const ec_slave_t *);
ec_slave_t *ec_slave_find_next_dc_slave(ec_slave_t *);
/****************************************************************************/
@ -570,7 +576,7 @@ int ec_slave_fetch_sii_pdos(
*/
char *ec_slave_sii_string(
ec_slave_t *slave, /**< EtherCAT slave */
const ec_slave_t *slave, /**< EtherCAT slave */
unsigned int index /**< string index */
)
{
@ -805,7 +811,7 @@ void ec_slave_attach_pdo_names(
* \return Port index.
*/
unsigned int ec_slave_get_previous_port(
ec_slave_t *slave, /**< EtherCAT slave. */
const ec_slave_t *slave, /**< EtherCAT slave. */
unsigned int port_index /**< Port index. */
)
{
@ -835,7 +841,7 @@ unsigned int ec_slave_get_previous_port(
* \return Port index.
*/
unsigned int ec_slave_get_next_port(
ec_slave_t *slave, /**< EtherCAT slave. */
const ec_slave_t *slave, /**< EtherCAT slave. */
unsigned int port_index /**< Port index. */
)
{
@ -865,7 +871,7 @@ unsigned int ec_slave_get_next_port(
* \return Round-trip-time in ns.
*/
uint32_t ec_slave_calc_rtt_sum(
ec_slave_t *slave /**< EtherCAT slave. */
const ec_slave_t *slave /**< EtherCAT slave. */
)
{
uint32_t rtt_sum = 0, rtt;