12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package dfu;
- // Version 0.1
- enum FwType {
- APPLICATION = 0;
- SOFTDEVICE = 1;
- BOOTLOADER = 2;
- SOFTDEVICE_BOOTLOADER = 3;
- EXTERNAL_APPLICATION = 4;
- }
- enum HashType {
- NO_HASH = 0;
- CRC = 1;
- SHA128 = 2;
- SHA256 = 3;
- SHA512 = 4;
- }
- enum OpCode {
- INIT = 1;
- }
- enum ValidationType {
- NO_VALIDATION = 0;
- VALIDATE_GENERATED_CRC = 1;
- VALIDATE_SHA256 = 2;
- VALIDATE_ECDSA_P256_SHA256 = 3;
- }
- message Hash {
- required HashType hash_type = 1;
- required bytes hash = 2;
- }
- message BootValidation {
- required ValidationType type = 1;
- required bytes bytes = 2;
- }
- // Commands data
- message InitCommand {
- optional uint32 fw_version = 1;
- optional uint32 hw_version = 2;
- repeated uint32 sd_req = 3 [packed = true];
- optional FwType type = 4;
- optional uint32 sd_size = 5;
- optional uint32 bl_size = 6;
- optional uint32 app_size = 7;
- optional Hash hash = 8;
- optional bool is_debug = 9 [default = false];
- repeated BootValidation boot_validation = 10;
- }
- // Command type
- message Command {
- optional OpCode op_code = 1;
- optional InitCommand init = 2;
- }
- // Signed command types
- enum SignatureType {
- ECDSA_P256_SHA256 = 0;
- ED25519 = 1;
- }
- message SignedCommand {
- required Command command = 1;
- required SignatureType signature_type = 2;
- required bytes signature = 3;
- }
- // Parent packet type
- message Packet {
- optional Command command = 1;
- optional SignedCommand signed_command = 2;
- }
|