Skip to content

Commit

Permalink
[fix] fix extra_dl and pprrzlog
Browse files Browse the repository at this point in the history
- call init function for extra_dl
- add missing byte in log header
  • Loading branch information
gautierhattenberger committed Feb 2, 2015
1 parent 6a37763 commit a2f55f6
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 20 deletions.
1 change: 1 addition & 0 deletions conf/modules/extra_dl.xml
Expand Up @@ -9,6 +9,7 @@
<header>
<file name="extra_pprz_dl.h"/>
</header>
<init fun="extra_pprz_dl_init()"/>
<event fun="ExtraDatalinkEvent()"/>
<makefile target="ap">
<raw>
Expand Down
11 changes: 6 additions & 5 deletions sw/airborne/modules/datalink/extra_pprz_dl.c
Expand Up @@ -21,11 +21,12 @@
*
*/

#include "extra_pprz_dl.h"

#if DATALINK != PPRZ
uint8_t ck_a, ck_b;
#endif
#include "modules/datalink/extra_pprz_dl.h"

struct pprz_transport extra_pprz_tp;

void extra_pprz_dl_init(void)
{
pprz_transport_init(&extra_pprz_tp);
}

2 changes: 2 additions & 0 deletions sw/airborne/modules/datalink/extra_pprz_dl.h
Expand Up @@ -41,6 +41,8 @@ extern struct pprz_transport extra_pprz_tp;
DlCheckAndParse(); \
}

/** Init function */
extern void extra_pprz_dl_init(void);

#endif /* EXTRA_PPRZ_DL_H */

2 changes: 1 addition & 1 deletion sw/airborne/modules/meteo/meteo_france_DAQ.c
Expand Up @@ -68,7 +68,7 @@ void init_mf_daq(void)
void mf_daq_send_state(void)
{
// Send aircraft state to DAQ board
DOWNLINK_SEND_MF_DAQ_STATE(pprz_tp, EXTRA_DOWNLINK_DEVICE,
DOWNLINK_SEND_MF_DAQ_STATE(extra_pprz_tp, EXTRA_DOWNLINK_DEVICE,
&autopilot_flight_time,
&stateGetBodyRates_f()->p,
&stateGetBodyRates_f()->q,
Expand Down
2 changes: 1 addition & 1 deletion sw/airborne/subsystems/datalink/downlink.c
Expand Up @@ -65,7 +65,7 @@ void downlink_init(void)

#if defined DATALINK
#if DATALINK == PPRZ || DATALINK == SUPERBITRF || DATALINK == W5100
pprz_transport_init();
pprz_transport_init(&pprz_tp);
#endif
#if DATALINK == XBEE
xbee_init();
Expand Down
24 changes: 12 additions & 12 deletions sw/airborne/subsystems/datalink/pprz_transport.c
Expand Up @@ -114,18 +114,18 @@ static int check_available_space(struct pprz_transport *trans __attribute__((unu
return dev->check_free_space(dev->periph, bytes);
}

void pprz_transport_init(void)
void pprz_transport_init(struct pprz_transport *t)
{
pprz_tp.status = UNINIT;
pprz_tp.trans_rx.msg_received = FALSE;
pprz_tp.trans_tx.size_of = (size_of_t) size_of;
pprz_tp.trans_tx.check_available_space = (check_available_space_t) check_available_space;
pprz_tp.trans_tx.put_bytes = (put_bytes_t) put_bytes;
pprz_tp.trans_tx.put_named_byte = (put_named_byte_t) put_named_byte;
pprz_tp.trans_tx.start_message = (start_message_t) start_message;
pprz_tp.trans_tx.end_message = (end_message_t) end_message;
pprz_tp.trans_tx.overrun = (overrun_t) overrun;
pprz_tp.trans_tx.count_bytes = (count_bytes_t) count_bytes;
pprz_tp.trans_tx.impl = (void *)(&pprz_tp);
t->status = UNINIT;
t->trans_rx.msg_received = FALSE;
t->trans_tx.size_of = (size_of_t) size_of;
t->trans_tx.check_available_space = (check_available_space_t) check_available_space;
t->trans_tx.put_bytes = (put_bytes_t) put_bytes;
t->trans_tx.put_named_byte = (put_named_byte_t) put_named_byte;
t->trans_tx.start_message = (start_message_t) start_message;
t->trans_tx.end_message = (end_message_t) end_message;
t->trans_tx.overrun = (overrun_t) overrun;
t->trans_tx.count_bytes = (count_bytes_t) count_bytes;
t->trans_tx.impl = (void *)(t);
}

2 changes: 1 addition & 1 deletion sw/airborne/subsystems/datalink/pprz_transport.h
Expand Up @@ -79,7 +79,7 @@ struct pprz_transport {
extern struct pprz_transport pprz_tp;

// Init function
extern void pprz_transport_init(void);
extern void pprz_transport_init(struct pprz_transport *t);

static inline void parse_pprz(struct pprz_transport *t, uint8_t c)
{
Expand Down
1 change: 1 addition & 0 deletions sw/airborne/subsystems/datalink/pprzlog_transport.c
Expand Up @@ -83,6 +83,7 @@ static void start_message(struct pprzlog_transport *trans, struct link_device *d
const uint8_t msg_len = size_of(trans, payload_len);
trans->ck = 0;
put_1byte(trans, dev, msg_len);
put_1byte(trans, dev, 0); // TODO use correct source ID
uint32_t ts = get_sys_time_usec() / 100;
put_bytes(trans, dev, DL_TYPE_TIMESTAMP, DL_FORMAT_SCALAR, 4, (uint8_t *)(&ts));
}
Expand Down

0 comments on commit a2f55f6

Please sign in to comment.