esmp3/include/controller.h

33 lines
796 B
C
Raw Normal View History

2019-08-02 21:48:36 +00:00
#pragma once
#include <Arduino.h>
#include "config.h"
2019-08-02 21:48:36 +00:00
#include "player.h"
#include <MFRC522.h>
#include <MCP23S17/MCP23S17.h>
2019-08-02 21:48:36 +00:00
class Controller {
private:
MFRC522* _rfid;
MCP* _mcp;
bool _rfid_enabled = true;
void _check_rfid();
void _check_serial();
void _check_buttons();
uint32_t _get_rfid_card_uid();
uint32_t _last_rfid_card_uid = 0;
uint8_t _no_rfid_card_count = 0;
2019-08-02 21:48:36 +00:00
Player* _player;
unsigned long _last_rfid_scan_at = 0;
String _serial_buffer = String();
void _execute_serial_command(String cmd);
void _execute_command_ls(String path);
void _execute_command_help();
unsigned long _button_last_pressed_at[NUM_BUTTONS];
bool _check_button(uint8_t btn);
2019-08-02 21:48:36 +00:00
public:
Controller(Player* p, MCP* m);
String rfid_uid() { return String(_last_rfid_card_uid, HEX); }
void loop();
2019-08-02 21:48:36 +00:00
};