dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bl_messages.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  bl_messages
 
struct  msg_capabilities_req
 
struct  msg_capabilities_rep_all
 
struct  msg_capabilities_rep_specific
 
struct  msg_enter_dfu
 
struct  msg_jump_fw
 
struct  msg_reset
 
struct  msg_op_abort
 
struct  msg_op_end
 
struct  msg_xfer_start
 
struct  msg_xfer_cont
 
struct  msg_status_req
 
struct  msg_status_rep
 
struct  msg_wipe_partition
 
struct  msg_capabilities_req
 
struct  msg_capabilities_rep_all
 
struct  msg_capabilities_rep_specific
 
struct  msg_enter_dfu
 
struct  msg_jump_fw
 
struct  msg_reset
 
struct  msg_op_abort
 
struct  msg_op_end
 
struct  msg_xfer_start
 
struct  msg_xfer_cont
 
struct  msg_status_req
 
struct  msg_status_rep
 
struct  msg_wipe_partition
 

Macros

#define BL_INCLUDE_CAP_EXTENSIONS
 
#define BL_MSG_FLAGS_ECHO_REQ   0x80
 
#define BL_MSG_FLAGS_ECHO_REP   0x40
 
#define BL_MSG_FLAGS_MASK   0xC0
 
#define BL_MSG_COMMAND_MASK   0x3F
 
#define BL_CAP_EXTENSION_MAGIC   0x3456
 
#define XFER_BYTES_PER_PACKET   56
 

Enumerations

enum  bl_commands {
  BL_MSG_RESERVED = 0, BL_MSG_CAP_REQ, BL_MSG_CAP_REP, BL_MSG_ENTER_DFU,
  BL_MSG_JUMP_FW, BL_MSG_RESET, BL_MSG_OP_ABORT, BL_MSG_WRITE_CONT,
  BL_MSG_OP_END, BL_MSG_READ_START, BL_MSG_READ_CONT, BL_MSG_STATUS_REQ,
  BL_MSG_STATUS_REP, BL_MSG_WIPE_PARTITION, BL_MSG_WRITE_START = 0x27
}
 
enum  dfu_partition_label
 

Functions

enum dfu_partition_label __attribute__ ((packed))
 
union {
   struct msg_capabilities_req {
      uint8_t   unused [4]
 
      uint8_t   device_number
 
   }   cap_req
 
   struct msg_capabilities_rep_all {
      uint8_t   unused [4]
 
      uint16_t   number_of_devices
 
      uint16_t   wrflags
 
   }   cap_rep_all
 
   struct msg_capabilities_rep_specific {
      uint32_t   fw_size
 
      uint8_t   device_number
 
      uint8_t   bl_version
 
      uint8_t   desc_size
 
      uint8_t   board_rev
 
      uint32_t   fw_crc
 
      uint16_t   device_id
 
      uint16_t   cap_extension_magic
 
      uint32_t   partition_sizes [10]
 
   }   cap_rep_specific
 
   struct msg_enter_dfu {
      uint8_t   unused [4]
 
      uint8_t   device_number
 
   }   enter_dfu
 
   struct msg_jump_fw {
      uint8_t   unused [4]
 
      uint8_t   unused2 [2]
 
      uint16_t   safe_word
 
   }   jump_fw
 
   struct msg_reset {
   }   reset
 
   struct msg_op_abort {
   }   op_abort
 
   struct msg_op_end {
   }   op_end
 
   struct msg_xfer_start {
      uint32_t   packets_in_transfer
 
      enum dfu_partition_label   label
 
      uint8_t   words_in_last_packet
 
      uint32_t   expected_crc
 
   }   xfer_start
 
   struct msg_xfer_cont {
      uint32_t   current_packet_number
 
      uint8_t   data [XFER_BYTES_PER_PACKET]
 
   }   xfer_cont
 
   struct msg_status_req {
   }   status_req
 
   struct msg_status_rep {
      uint32_t   unused
 
      uint8_t   current_state
 
   }   status_rep
 
   struct msg_wipe_partition {
      enum dfu_partition_label   label
 
   }   wipe_partition
 
   uint8_t   pad [62]
 
__attribute__ ((aligned(1))) v
 

Variables

 DFU_PARTITION_FW
 
 DFU_PARTITION_DESC
 
 DFU_PARTITION_BL
 
 DFU_PARTITION_SETTINGS
 
 DFU_PARTITION_AUTOTUNE
 
 DFU_PARTITION_LOG
 
 DFU_PARTITION_LOADABLE_EXTENSION
 
struct msg_capabilities_req cap_req
 
struct msg_capabilities_rep_all cap_rep_all
 
struct
msg_capabilities_rep_specific 
cap_rep_specific
 
struct msg_enter_dfu enter_dfu
 
struct msg_jump_fw jump_fw
 
struct msg_reset reset
 
struct msg_op_abort op_abort
 
struct msg_op_end op_end
 
struct msg_xfer_start xfer_start
 
struct msg_xfer_cont xfer_cont
 
struct msg_status_req status_req
 
struct msg_status_rep status_rep
 
struct msg_wipe_partition wipe_partition
 
uint8_t pad [62]
 
uint8_t flags_command
 

Detailed Description

Author
Tau Labs, http://taulabs.org, Copyright (C) 2013

Definition in file bl_messages.h.

Macro Definition Documentation

#define BL_CAP_EXTENSION_MAGIC   0x3456

Definition at line 88 of file bl_messages.h.

#define XFER_BYTES_PER_PACKET   56

Definition at line 124 of file bl_messages.h.

Function Documentation

union @24 __attribute__::__attribute__ ( (aligned(1))  )

Variable Documentation

uint8_t bl_version

Definition at line 83 of file bl_messages.h.

uint8_t board_rev

Definition at line 85 of file bl_messages.h.

uint16_t cap_extension_magic

Definition at line 91 of file bl_messages.h.

struct msg_capabilities_rep_all cap_rep_all
struct msg_capabilities_rep_specific cap_rep_specific
struct msg_capabilities_req cap_req
uint32_t current_packet_number

Definition at line 128 of file bl_messages.h.

uint8_t current_state

Definition at line 138 of file bl_messages.h.

uint8_t data[XFER_BYTES_PER_PACKET]

Definition at line 129 of file bl_messages.h.

uint8_t desc_size

Definition at line 84 of file bl_messages.h.

uint16_t device_id

Definition at line 87 of file bl_messages.h.

uint8_t device_number

Definition at line 71 of file bl_messages.h.

DFU_PARTITION_AUTOTUNE

Definition at line 66 of file bl_messages.h.

DFU_PARTITION_BL

Definition at line 66 of file bl_messages.h.

DFU_PARTITION_DESC

Definition at line 66 of file bl_messages.h.

DFU_PARTITION_FW

Definition at line 66 of file bl_messages.h.

DFU_PARTITION_LOADABLE_EXTENSION

Definition at line 66 of file bl_messages.h.

DFU_PARTITION_LOG

Definition at line 66 of file bl_messages.h.

DFU_PARTITION_SETTINGS

Definition at line 66 of file bl_messages.h.

struct msg_enter_dfu enter_dfu
uint32_t expected_crc

Definition at line 123 of file bl_messages.h.

uint8_t flags_command

Definition at line 66 of file bl_messages.h.

uint32_t fw_crc

Definition at line 86 of file bl_messages.h.

uint32_t fw_size

Definition at line 81 of file bl_messages.h.

struct msg_jump_fw jump_fw
enum dfu_partition_label label

Definition at line 121 of file bl_messages.h.

uint16_t number_of_devices

Definition at line 76 of file bl_messages.h.

struct msg_op_abort op_abort
struct msg_op_end op_end
uint32_t packets_in_transfer

Definition at line 120 of file bl_messages.h.

uint8_t pad

Definition at line 155 of file bl_messages.h.

uint32_t partition_sizes[10]

Definition at line 92 of file bl_messages.h.

struct msg_reset reset
uint16_t safe_word

Definition at line 104 of file bl_messages.h.

struct msg_status_rep status_rep
struct msg_status_req status_req
uint32_t unused

Definition at line 70 of file bl_messages.h.

uint8_t unused2[2]

Definition at line 103 of file bl_messages.h.

struct msg_wipe_partition wipe_partition
uint8_t words_in_last_packet

Definition at line 122 of file bl_messages.h.

uint16_t wrflags

Definition at line 77 of file bl_messages.h.

struct msg_xfer_cont xfer_cont
struct msg_xfer_start xfer_start