summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--low-can-binding/binding/low-can-subscription.cpp79
1 files changed, 31 insertions, 48 deletions
diff --git a/low-can-binding/binding/low-can-subscription.cpp b/low-can-binding/binding/low-can-subscription.cpp
index 1df49e90..e9ee198b 100644
--- a/low-can-binding/binding/low-can-subscription.cpp
+++ b/low-can-binding/binding/low-can-subscription.cpp
@@ -364,7 +364,7 @@ int low_can_subscription_t::open_socket(low_can_subscription_t &subscription, co
int ret = -1;
if(! subscription.socket_)
{
- if(flags&BCM_PROTOCOL)
+ if(flags & BCM_PROTOCOL)
{
if( subscription.signal_ != nullptr)
{
@@ -384,18 +384,18 @@ int low_can_subscription_t::open_socket(low_can_subscription_t &subscription, co
subscription.index_ = (int)subscription.socket_->socket();
}
#ifdef USE_FEATURE_ISOTP
- else if(flags&ISOTP_PROTOCOL)
+ else if(flags & ISOTP_PROTOCOL)
{
if(subscription.signal_ != nullptr)
{
canid_t rx = NO_CAN_ID;
canid_t tx = NO_CAN_ID;
- if(flags&ISOTP_SEND)
+ if(flags & ISOTP_SEND)
{
rx = subscription.get_rx_id();
tx = subscription.signal_->get_message()->get_id();
}
- else if(flags&ISOTP_RECEIVE)
+ else if(flags & ISOTP_RECEIVE)
{
rx = subscription.signal_->get_message()->get_id();
tx = subscription.get_tx_id();
@@ -414,7 +414,7 @@ int low_can_subscription_t::open_socket(low_can_subscription_t &subscription, co
}
#endif
#ifdef USE_FEATURE_J1939
- else if(flags&J1939_ADDR_CLAIM_PROTOCOL)
+ else if(flags & J1939_ADDR_CLAIM_PROTOCOL)
{
pgn_t pgn = J1939_NO_PGN;
if(!bus_name.empty())
@@ -425,7 +425,7 @@ int low_can_subscription_t::open_socket(low_can_subscription_t &subscription, co
}
subscription.index_ = (int)subscription.socket_->socket();
}
- else if(flags&J1939_PROTOCOL)
+ else if(flags & J1939_PROTOCOL)
{
pgn_t pgn = J1939_NO_PGN;
if(subscription.signal_ != nullptr)
@@ -521,7 +521,7 @@ int low_can_subscription_t::create_rx_filter_j1939(low_can_subscription_t &subsc
subscription.signal_= sig;
// Make sure that socket is opened.
- if(open_socket(subscription,"",J1939_PROTOCOL) < 0)
+ if(open_socket(subscription, "", J1939_PROTOCOL) < 0)
{
return -1;
}
@@ -541,7 +541,7 @@ int low_can_subscription_t::create_rx_filter_isotp(low_can_subscription_t &subsc
subscription.signal_= sig;
// Make sure that socket is opened.
- if(open_socket(subscription,"",ISOTP_PROTOCOL|ISOTP_RECEIVE) < 0)
+ if(open_socket(subscription, "", ISOTP_PROTOCOL|ISOTP_RECEIVE) < 0)
{
return -1;
}
@@ -556,53 +556,41 @@ int low_can_subscription_t::create_rx_filter_can(low_can_subscription_t &subscri
{
uint32_t flags_bcm;
struct timeval freq, timeout = {0, 0};
- struct canfd_frame cfd;
subscription.signal_= sig;
bool is_fd = sig->get_message()->is_fd();
+ uint32_t max_dlen = 0;
- std::vector<uint8_t> data;
uint32_t length_msg = sig->get_message()->get_length();
+ std::vector<uint8_t> data(length_msg);
+ can_message_t cm;
- if(length_msg == 0)
+ if(! length_msg)
{
- AFB_ERROR("Error in the length of message with id %d",sig->get_message()->get_id());
+ AFB_ERROR("Error in the length of message with id %d", sig->get_message()->get_id());
return -1;
}
- for(int i = 0; i<length_msg;i++)
- {
- data.push_back(0);
- }
-
- encoder_t::encode_data(subscription.signal_,data,true,false,true);
-
- can_message_t cm;
+ encoder_t::encode_data(subscription.signal_, data, true, false, true);
if (is_fd)
{
flags_bcm = SETTIMER|RX_NO_AUTOTIMER|CAN_FD_FRAME;
- cfd.len = CANFD_MAX_DLEN;
- cm = can_message_t( CANFD_MAX_DLEN,
- sig->get_message()->get_id(),
- length_msg,
- false,
- sig->get_message()->get_flags(),
- data,
- 0);
+ max_dlen = CANFD_MAX_DLEN;
}
else
{
flags_bcm = SETTIMER|RX_NO_AUTOTIMER;
- cfd.len = CAN_MAX_DLEN;
- cm = can_message_t( CAN_MAX_DLEN,
- sig->get_message()->get_id(),
- length_msg,
- false,
- sig->get_message()->get_flags(),
- data,
- 0);
+ max_dlen = CAN_MAX_DLEN;
}
+ cm = can_message_t( max_dlen,
+ sig->get_message()->get_id(),
+ length_msg,
+ false,
+ sig->get_message()->get_flags(),
+ data,
+ 0);
+
frequency_clock_t f = subscription.event_filter_.frequency == 0 ? subscription.signal_->get_frequency() : frequency_clock_t(subscription.event_filter_.frequency);
freq = f.get_timeval_from_period();
@@ -617,12 +605,7 @@ int low_can_subscription_t::create_rx_filter_can(low_can_subscription_t &subscri
}
else if(cfd_vect.size() == 1)
{
- canfd_frame cf = cfd_vect[0];
- for(int i=0;i<cfd.len;i++)
- {
- cfd.data[i] = cf.data[i];
- }
- subscription.add_one_bcm_frame(cfd, bcm_msg);
+ subscription.add_one_bcm_frame(cfd_vect[0], bcm_msg);
}
else
{
@@ -676,9 +659,9 @@ int low_can_subscription_t::create_rx_filter(std::shared_ptr<diagnostic_message_
struct timeval freq = frequency_clock_t(event_filter_.frequency).get_timeval_from_period();
//struct timeval timeout = frequency_clock_t(10).get_timeval_from_period();
- struct timeval timeout = {0,0};
+ struct timeval timeout = {0, 0};
- struct bcm_msg bcm_msg = make_bcm_head(RX_SETUP, OBD2_FUNCTIONAL_BROADCAST_ID, SETTIMER|RX_NO_AUTOTIMER|RX_FILTER_ID, timeout, freq);
+ struct bcm_msg bcm_msg = make_bcm_head(RX_SETUP, OBD2_FUNCTIONAL_BROADCAST_ID, SETTIMER | RX_NO_AUTOTIMER | RX_FILTER_ID, timeout, freq);
return create_rx_filter_bcm(*this, bcm_msg);
}
@@ -693,7 +676,7 @@ int low_can_subscription_t::create_rx_filter(std::shared_ptr<diagnostic_message_
int low_can_subscription_t::create_rx_filter_bcm(low_can_subscription_t &subscription, struct bcm_msg& bcm_msg)
{
// Make sure that socket is opened.
- if(subscription.open_socket(subscription,"",BCM_PROTOCOL) < 0)
+ if(subscription.open_socket(subscription, "", BCM_PROTOCOL) < 0)
{return -1;}
// If it's not an OBD2 CAN ID then just add a simple RX_SETUP job
@@ -713,7 +696,7 @@ int low_can_subscription_t::create_rx_filter_bcm(low_can_subscription_t &subscri
{
for(uint8_t i = 0; i < 8; i++)
{
- bcm_msg.msg_head.can_id = OBD2_FUNCTIONAL_RESPONSE_START + i;
+ bcm_msg.msg_head.can_id = OBD2_FUNCTIONAL_RESPONSE_START + i;
msg.set_bcm_msg(bcm_msg);
subscription.socket_->write_message(msg);
if(! subscription.socket_)
@@ -756,7 +739,7 @@ int low_can_subscription_t::tx_send(low_can_subscription_t &subscription, messag
if(subscription.socket_->write_message(*cm) < 0)
{
- AFB_ERROR("Error write message id : %d",cfd_vect[0].can_id);
+ AFB_ERROR("Error write message id : %d", cfd_vect[0].can_id);
return -1;
}
}
@@ -794,7 +777,7 @@ int low_can_subscription_t::j1939_send(low_can_subscription_t &subscription, mes
}
j1939_message_t *jm = static_cast<j1939_message_t*>(message);
- jm->set_sockname(jm->get_pgn(),J1939_NO_NAME,J1939_NO_ADDR);
+ jm->set_sockname(jm->get_pgn(), J1939_NO_NAME, J1939_NO_ADDR);
if(subscription.socket_->write_message(*jm) < 0)
{
AFB_ERROR("Error write j1939 message");