Safe Communication Framework
0.1.0 build feea4f9
ERTMS/ETCS safe communication (Subset-037 EuroRadio, Subset-098 RBC/RBC), CENELEC EN 50128 SIL 4 oriented
Toggle main menu visibility
Loading...
Searching...
No Matches
rbc_rbc.c
Go to the documentation of this file.
1
5
#include "
safecomm/rbc_rbc/rbc_rbc.h
"
6
7
#include <string.h>
8
9
#define SAFECOMM_RR_T_CONNECT_MS 5000U
10
#define SAFECOMM_RR_T_SUPERVISION_MS 10000U
11
12
safecomm_status_t
safecomm_rr_make_saf_config
(
const
safecomm_rr_config_t
*cfg,
13
safecomm_saf_config_t
*out_saf)
14
{
15
if
((cfg == NULL) || (out_saf == NULL))
16
{
17
return
SAFECOMM_STATUS_INVALID_PARAM
;
18
}
19
(void)memset(out_saf, 0,
sizeof
(*out_saf));
20
out_saf->role = (cfg->role ==
SAFECOMM_RR_ROLE_HANDING_OVER
)
21
?
SAFECOMM_SAF_ROLE_INITIATOR
22
:
SAFECOMM_SAF_ROLE_RESPONDER
;
23
(void)memcpy(out_saf->
kmac
, cfg->kmac,
SAFECOMM_MAC_KEY_LEN
);
24
out_saf->
etcs_id_self
= cfg->rbc_id_self;
25
out_saf->
etcs_id_peer
= cfg->rbc_id_peer;
26
out_saf->
t_connect_ms
=
SAFECOMM_RR_T_CONNECT_MS
;
27
out_saf->
t_supervision_ms
=
SAFECOMM_RR_T_SUPERVISION_MS
;
28
29
return
SAFECOMM_STATUS_OK
;
30
}
SAFECOMM_MAC_KEY_LEN
#define SAFECOMM_MAC_KEY_LEN
Definition
mac.h:34
SAFECOMM_RR_T_SUPERVISION_MS
#define SAFECOMM_RR_T_SUPERVISION_MS
Definition
rbc_rbc.c:10
SAFECOMM_RR_T_CONNECT_MS
#define SAFECOMM_RR_T_CONNECT_MS
Definition
rbc_rbc.c:9
rbc_rbc.h
Subset-098 RBC/RBC Safe Communication Interface profile.
SAFECOMM_RR_ROLE_HANDING_OVER
@ SAFECOMM_RR_ROLE_HANDING_OVER
Definition
rbc_rbc.h:28
safecomm_rr_make_saf_config
safecomm_status_t safecomm_rr_make_saf_config(const safecomm_rr_config_t *cfg, safecomm_saf_config_t *out_saf)
Build a SaF config for a Subset-098 RBC/RBC connection.
Definition
rbc_rbc.c:12
SAFECOMM_SAF_ROLE_RESPONDER
@ SAFECOMM_SAF_ROLE_RESPONDER
Definition
saf.h:62
SAFECOMM_SAF_ROLE_INITIATOR
@ SAFECOMM_SAF_ROLE_INITIATOR
Definition
saf.h:61
safecomm_status_t
safecomm_status_t
Result of a Safe Communication Framework operation.
Definition
status.h:17
SAFECOMM_STATUS_INVALID_PARAM
@ SAFECOMM_STATUS_INVALID_PARAM
Definition
status.h:19
SAFECOMM_STATUS_OK
@ SAFECOMM_STATUS_OK
Definition
status.h:18
safecomm_rr_config_t
Subset-098 profile parameters.
Definition
rbc_rbc.h:34
safecomm_saf_config_t
Static configuration for one SaF connection.
Definition
saf.h:77
safecomm_saf_config_t::etcs_id_peer
uint32_t etcs_id_peer
Definition
saf.h:81
safecomm_saf_config_t::kmac
uint8_t kmac[SAFECOMM_MAC_KEY_LEN]
Definition
saf.h:79
safecomm_saf_config_t::t_connect_ms
uint32_t t_connect_ms
Definition
saf.h:83
safecomm_saf_config_t::etcs_id_self
uint32_t etcs_id_self
Definition
saf.h:80
safecomm_saf_config_t::t_supervision_ms
uint32_t t_supervision_ms
Definition
saf.h:84
src
rbc_rbc
rbc_rbc.c
Generated by
1.18.0