BlueToe
an alternative GATT/BLE implementation
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
bootloader.hpp File Reference
#include <bluetoe/service.hpp>
#include <bluetoe/mixin.hpp>
#include <algorithm>

Go to the source code of this file.

Classes

struct  bluetoe::bootloader::page_size< PageSize >
 required parameter to define the size of a page More...
 
struct  bluetoe::bootloader::memory_region< Start, End >
 denoting a memory range with it's start address and endaddress (exklusive) More...
 
struct  bluetoe::bootloader::handler< UserHandler >
 requireded parameter to define, how the bootloader can access memory and flash More...
 
class  bluetoe::bootloader::bootloader_handler_prototype
 Prototype for a handler, that adapts the bootloader service to the actual hardware. More...
 

Typedefs

using bluetoe::bootloader::service_uuid = bluetoe::service_uuid< 0x7D295F4D, 0x2850, 0x4F57, 0xB595, 0x837F5753F8A9 >
 the UUID of the bootloader service is 7D295F4D-2850-4F57-B595-837F5753F8A9
 
using bluetoe::bootloader::control_point_uuid = bluetoe::characteristic_uuid< 0x7D295F4D, 0x2850, 0x4F57, 0xB595, 0x837F5753F8A9 >
 the UUID of the control point charateristic is 7D295F4D-2850-4F57-B595-837F5753F8A9
 
using bluetoe::bootloader::data_uuid = bluetoe::characteristic_uuid< 0x7D295F4D, 0x2850, 0x4F57, 0xB595, 0x837F5753F8AA >
 the UUID of the data charateristic is 7D295F4D-2850-4F57-B595-837F5753F8AA
 
using bluetoe::bootloader::progress_uuid = bluetoe::characteristic_uuid< 0x7D295F4D, 0x2850, 0x4F57, 0xB595, 0x837F5753F8AB >
 the UUID of the data charateristic is 7D295F4D-2850-4F57-B595-837F5753F8AA
 
template<typename ... Options>
using bluetoe::bootloader_service = typename bootloader::details::calculate_service< Options... >::type
 Implementation of a bootloader service.
 

Enumerations

enum  bluetoe::bootloader::att_error_codes : std::uint8_t { no_operation_in_progress = bluetoe::error_codes::application_error_start , invalid_opcode , invalid_state , buffer_overrun_attempt }
 error codes that are used by the bootloader on the ATT layer
 
enum class  bluetoe::bootloader::error_codes : std::uint8_t { success , not_authorized }
 range of error codes that can be used by the user handler to indicate the cause of an error More...
 

Functions

template<class Server >
void bluetoe::bootloader::end_flash (Server &srv)
 inform the bootloader, that an asynchrone flash operations is finished
 

Detailed Description

This is the implementation of a bootloader as a Bluetooth LE service. The service contains two characteristics. A control point to inquire informations and to control the flash process. One data characteristic to upload and download larger amounts of data.

Bootloader-Protocol

Enumeration Type Documentation

◆ error_codes

enum class bluetoe::bootloader::error_codes : std::uint8_t
strong

range of error codes that can be used by the user handler to indicate the cause of an error

Enumerator
success 

every thing is fine.

not_authorized 

somehow the request would require more authorization