Classes | |
| class | HIDGlobalReader |
| struct | HIDGlobalTagID |
| struct | TagRead |
| class | WiegandReader |
| struct | AppActorState |
| struct | AuthActorState |
| struct | DisplayActorState |
| struct | MachineActorState |
| struct | RFIDReaderActorState |
Typedefs | |
| typedef void(* | TimerCallbackFunction) (void *) |
| using | TagBits = std::bitset< 26 > |
| using | string_view = std::experimental::string_view |
| using | DisplayIntentFlatbuffer = flatbuffers::DetachedBuffer |
| using | ActivityFlatbuffer = flatbuffers::DetachedBuffer |
| using | LogFlatbuffer = flatbuffers::DetachedBuffer |
| using | UserFlatbuffer = flatbuffers::DetachedBuffer |
| using | string = std::string |
| using | string_view = std::experimental::string_view |
| using | RequestPayloadFlatbuffer = flatbuffers::DetachedBuffer |
| using | UserFlatbuffer = flatbuffers::DetachedBuffer |
| using | MutableUserFlatbuffer = std::vector< uint8_t > |
| using | MutableActivityFlatbuffer = std::vector< uint8_t > |
| using | MutableRequestPayloadFlatbuffer = std::vector< uint8_t > |
| using | string = std::string |
| using | string_view = std::experimental::string_view |
| using | string = std::string |
| using | string_view = std::experimental::string_view |
| using | string_view = std::experimental::string_view |
| using | string = std::string |
| using | Timestamp = std::chrono::time_point< std::chrono::system_clock > |
Global Variables | |
| static constexpr auto | TIMER_DIVIDER = 16 |
| static constexpr timer_idx_t | BEEP_TIMER_IDX = static_cast<timer_idx_t>(0) |
| static constexpr timer_idx_t | HOLD_TIMER_IDX = static_cast<timer_idx_t>(1) |
| static constexpr auto | max_bit_interval = 100ms |
| static constexpr auto | max_tag_active_interval = 2s |
| constexpr char | TAG [] = "app_actor" |
| constexpr char | TAG [] = "auth_actor" |
| constexpr char | TAG [] = "display_actor" |
| constexpr char | TAG [] = "machine_actor" |
| EventGroupHandle_t | network_event_group |
| static int | boot_count = 0 |
| static wl_handle_t | s_wl_handle = WL_INVALID_HANDLE |
| constexpr char | TAG [] = "main" |
| constexpr char | TAG [] = "rfid_reader_actor" |
| constexpr char | TAG [] = "start_app" |
Main ACM Actors | |
| auto | display_behaviour (const ActorModel::Pid &self, ActorModel::Mailbox &mailbox) -> ActorModel::ResultUnion |
| auto | app_actor_behaviour (const ActorModel::Pid &self, ActorModel::StatePtr &_state, const ActorModel::Message &message) -> ActorModel::ResultUnion |
| auto | auth_actor_behaviour (const ActorModel::Pid &self, ActorModel::StatePtr &_state, const ActorModel::Message &message) -> ActorModel::ResultUnion |
| auto | rfid_reader_actor_behaviour (const ActorModel::Pid &self, ActorModel::StatePtr &_state, const ActorModel::Message &message) -> ActorModel::ResultUnion |
| auto | machine_actor_behaviour (const ActorModel::Pid &self, ActorModel::StatePtr &_state, const ActorModel::Message &message) -> ActorModel::ResultUnion |
Files | |
| file | hid_global_reader.cpp |
Implementation of HIDGlobalReader. | |
| file | hid_global_reader.h |
Header for HIDGlobalReader: scanning state-machine, tag bits parsing, and control of LEDs and beep function. | |
| file | hid_global_tag_id.cpp |
Implementation of HIDGlobalTagID. | |
| file | hid_global_tag_id.h |
| file | wiegand_reader.cpp |
Implementation of WiegandReader. | |
| file | wiegand_reader.h |
| file | acm_helpers.cpp |
Implementation of acm_helpers.h. | |
| file | acm_helpers.h |
| file | actors.h |
| file | app_actor.cpp |
| Implementation of actor app. | |
| file | auth_actor.cpp |
| Implementation of actor auth. | |
| file | display_actor.cpp |
| Implementation of custom-loop actor display. | |
| file | machine_actor.cpp |
| Implementation of actor machine. | |
| file | main.cpp |
| file | rfid_reader_actor.cpp |
| Implementation of actor rfid_reader. | |
| file | start_app.cpp |
| file | start_request_manager.cpp |
| file | start_request_manager.h |
Header for start_request_manager, ActorModel Module init function. | |
| using ActivityFlatbuffer = flatbuffers::DetachedBuffer |
| using DisplayIntentFlatbuffer = flatbuffers::DetachedBuffer |
| using LogFlatbuffer = flatbuffers::DetachedBuffer |
| using MutableActivityFlatbuffer = std::vector<uint8_t> |
| using MutableRequestPayloadFlatbuffer = std::vector<uint8_t> |
| using MutableUserFlatbuffer = std::vector<uint8_t> |
| using RequestPayloadFlatbuffer = flatbuffers::DetachedBuffer |
| using string = std::string |
| using string = std::string |
| using string = std::string |
| using string = std::string |
| using string_view = std::experimental::string_view |
| using string_view = std::experimental::string_view |
| using string_view = std::experimental::string_view |
| using string_view = std::experimental::string_view |
| using string_view = std::experimental::string_view |
| using TagBits = std::bitset<26> |
| typedef void(* TimerCallbackFunction) (void *) |
| using Timestamp = std::chrono::time_point<std::chrono::system_clock> |
| using UserFlatbuffer = flatbuffers::DetachedBuffer |
| using UserFlatbuffer = flatbuffers::DetachedBuffer |
| auto app_actor_behaviour | ( | const ActorModel::Pid & | self, |
| ActorModel::StatePtr & | _state, | ||
| const ActorModel::Message & | message | ||
| ) | -> ActorModel::ResultUnion |
| auto app_actor_behaviour | ( | const Pid & | self, |
| StatePtr & | _state, | ||
| const Message & | message | ||
| ) | -> ResultUnion |

| void app_main | ( | ) |

| auto auth_actor_behaviour | ( | const ActorModel::Pid & | self, |
| ActorModel::StatePtr & | _state, | ||
| const ActorModel::Message & | message | ||
| ) | -> ActorModel::ResultUnion |
| auto auth_actor_behaviour | ( | const Pid & | self, |
| StatePtr & | _state, | ||
| const Message & | message | ||
| ) | -> ResultUnion |

| auto HIDGlobalReader::beep | ( | TimeDuration | duration | ) | -> void |
| void beep_timer_isr | ( | void * | userdata | ) |
| auto display_behaviour | ( | const ActorModel::Pid & | self, |
| ActorModel::Mailbox & | mailbox | ||
| ) | -> ActorModel::ResultUnion |

| auto generate_activity | ( | const string_view | machine_id_str, |
| const ActivityType | activity_type, | ||
| const string_view | tag_id_str, | ||
| const int | usage_seconds | ||
| ) | -> ActivityFlatbuffer |
| auto generate_activity | ( | const std::experimental::string_view | machine_id_str, |
| const ACM::ActivityType | activity_type, | ||
| const std::experimental::string_view | tag_id_str, | ||
| const int | usage_seconds = 0 |
||
| ) | -> ActivityFlatbuffer |
| auto generate_log | ( | const std::experimental::string_view | machine_id_str, |
| const ACM::LogSeverity | severity, | ||
| const std::experimental::string_view | message_str | ||
| ) | -> LogFlatbuffer |
| auto generate_log | ( | const string_view | machine_id_str, |
| const LogSeverity | severity, | ||
| const string_view | message_str | ||
| ) | -> LogFlatbuffer |
| auto generate_progress_bar | ( | const std::experimental::string_view | message, |
| const uint32_t | progress, | ||
| const TimeDuration | duration, | ||
| const Display::Icon | icon = Display::Icon::None |
||
| ) | -> DisplayIntentFlatbuffer |
| auto generate_progress_bar | ( | const std::experimental::string_view | message, |
| const uint32_t | progress, | ||
| const TimeDuration | duration, | ||
| const Icon | icon | ||
| ) | -> DisplayIntentFlatbuffer |
| auto generate_show_user_details | ( | const std::experimental::string_view | message, |
| const std::experimental::string_view | email, | ||
| const std::experimental::string_view | makerlabs_id, | ||
| const std::experimental::string_view | tag_id | ||
| ) | -> DisplayIntentFlatbuffer |
| auto generate_show_user_details_from_user | ( | const ACM::User * | user | ) | -> DisplayIntentFlatbuffer |
| WiegandReader::TagReadEvent WiegandReader::get_current_tag | ( | ) |

|
explicitnoexcept |

|
noexcept |
|
explicitnoexcept |
Parse a 26-bit HID Global iClass tag: validate parity, then decode facility_code and card_number
| bits | Bitset representation of 26-bit tag read |
"Standard" 26-Bit Wiegand Format as defined in: https://www.hidglobal.com/sites/default/files/hid-understanding_card_data_formats-wp-en.pdf | void hold_timer_isr | ( | void * | userdata | ) |
| auto machine_actor_behaviour | ( | const ActorModel::Pid & | self, |
| ActorModel::StatePtr & | _state, | ||
| const ActorModel::Message & | message | ||
| ) | -> ActorModel::ResultUnion |
| auto machine_actor_behaviour | ( | const Pid & | self, |
| StatePtr & | _state, | ||
| const Message & | message | ||
| ) | -> ResultUnion |

|
static |

|
inline |
| auto rfid_reader_actor_behaviour | ( | const ActorModel::Pid & | self, |
| ActorModel::StatePtr & | _state, | ||
| const ActorModel::Message & | message | ||
| ) | -> ActorModel::ResultUnion |
| auto rfid_reader_actor_behaviour | ( | const Pid & | self, |
| StatePtr & | _state, | ||
| const Message & | message | ||
| ) | -> ResultUnion |

| auto HIDGlobalReader::scan_tag | ( | ) | -> MaybeTagId |
| auto HIDGlobalReader::scanning_fsm | ( | ) | -> void |
| auto send_activity | ( | const ActivityFlatbuffer & | activity_mutable_buf | ) | -> bool |
| auto send_progress_bar | ( | const DisplayIntentFlatbuffer & | display_intent_flatbuf | ) | -> bool |

| bool WiegandReader::set_beeper | ( | bool | enabled | ) |
| bool WiegandReader::set_green_led | ( | bool | enabled | ) |
| bool WiegandReader::set_hold | ( | bool | enabled | ) |
| bool WiegandReader::set_red_led | ( | bool | enabled | ) |
| auto start_app | ( | ) | -> bool |
Single actor with multiple behaviours combined sharing the same task:
DisplayActor using its own run-loop
Dynamic Module holding start_request_manager init function.
Supervisor actor which calls start_request_manager module defined above.
FirmwareUpdateActor
(Wait for valid network connection before starting services)
(Wait for valid network connection and NTP time before continuing)
Ready to start RFID scanning! (500ms check interval)

| auto start_request_manager | ( | const ActorModel::Pid & | sup_pid, |
| const ActorModel::Message & | message | ||
| ) | -> ActorModel::ResultUnion |
| auto start_request_manager | ( | const Pid & | sup_pid, |
| const Message & | message | ||
| ) | -> ResultUnion |

|
static |

|
static |
|
static |
|
static |
|
static |
|
static |
| EventGroupHandle_t network_event_group |
|
static |
| constexpr char TAG[] = "rfid_reader_actor" |
| constexpr char TAG[] = "auth_actor" |
| constexpr char TAG[] = "display_actor" |
| constexpr char TAG[] = "machine_actor" |
| constexpr char TAG[] = "main" |
| constexpr char TAG[] = "app_actor" |
| constexpr char TAG[] = "start_app" |
|
static |