for (i = 0; i < 0x3F; i++) {
int len;
- if (linc_lin_state->frame_entry[i].status == PCL_ACTIVE) {
+ if (linc_lin_state->frame_entry[i].status == 1) { /* Is Active */
pkt.stx = PCL_STX;
pkt.seq_no = 0x0;
pkt.seq_frlen = linc_lin_state->frame_entry[i].data_len + 2;
pkt.seq_frlen = 0x2;
pkt.ctrl_tiface = PCL_PACKET_LIN_IFACE;
pkt.ctrl_comc = 0x1F;
- pkt.parms[0] = 0x00;
- pkt.parms[1] = 0x4B; /* 19200 kBit/s */
+ pkt.parms[0] = linc_lin_state->baudrate & 0xFF;
+ pkt.parms[1] = (linc_lin_state->baudrate >> 8) & 0xFF;
pcl_send_frame(tty, &pkt);
pcl_read_response(tty);
return 0;
}
-int pcl_config(struct linc_lin_state *linc_lin_state, unsigned int flags)
+int pcl_config(struct linc_lin_state *linc_lin_state)
{
int tty;
pcl_set_input_mode(tty);
- if (flags & RESET_DEVICE_fl) {
+ if (linc_lin_state->flags & RESET_DEVICE_fl) {
pcl_reset_device(tty);
return 0;
}
pcl_lin_init(tty, linc_lin_state);
- if (flags & FLASH_CONF_fl) {
+ if (linc_lin_state->flags & FLASH_CONF_fl) {
pcl_flash_config(tty);
pcl_reset_device(tty);
}
+ // FIXME add warning on unrecognized flags
+ //if (flags & (RESET_DEVICE_fl | FLASH_CONF_fl))
+
pcl_reset_input_mode(tty);
close(tty);
- return 0;
+ return LIN_EXIT_OK;
}
-