ibutton-key.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "ibutton-key.h"
  2. #include <furi.h>
  3. uint8_t iButtonKey::get_size() {
  4. return IBUTTON_KEY_DATA_SIZE;
  5. }
  6. void iButtonKey::set_data(uint8_t* _data, uint8_t _data_count) {
  7. furi_check(_data_count > 0);
  8. furi_check(_data_count <= get_size());
  9. memset(data, 0, get_size());
  10. memcpy(data, _data, _data_count);
  11. }
  12. void iButtonKey::clear_data() {
  13. memset(data, 0, get_size());
  14. }
  15. uint8_t* iButtonKey::get_data() {
  16. return data;
  17. }
  18. uint8_t iButtonKey::get_type_data_size() {
  19. uint8_t size = 0;
  20. switch(type) {
  21. case iButtonKeyType::KeyCyfral:
  22. size = 2;
  23. break;
  24. case iButtonKeyType::KeyMetakom:
  25. size = 4;
  26. break;
  27. case iButtonKeyType::KeyDallas:
  28. size = 8;
  29. break;
  30. }
  31. return size;
  32. }
  33. void iButtonKey::set_name(const char* _name) {
  34. strlcpy(name, _name, IBUTTON_KEY_NAME_SIZE);
  35. }
  36. char* iButtonKey::get_name() {
  37. return name;
  38. }
  39. void iButtonKey::set_type(iButtonKeyType _key_type) {
  40. type = _key_type;
  41. }
  42. iButtonKeyType iButtonKey::get_key_type() {
  43. return type;
  44. }
  45. iButtonKey::iButtonKey() {
  46. }