ibutton-key.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include "ibutton-key.h"
  2. #include <furi.h>
  3. uint8_t iButtonKey::get_size() {
  4. return IBUTTON_KEY_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. uint8_t* iButtonKey::get_data() {
  13. return data;
  14. }
  15. uint8_t iButtonKey::get_type_data_size() {
  16. uint8_t size = 0;
  17. switch(type) {
  18. case iButtonKeyType::KeyCyfral:
  19. size = 2;
  20. break;
  21. case iButtonKeyType::KeyMetakom:
  22. size = 4;
  23. break;
  24. case iButtonKeyType::KeyDallas:
  25. size = 8;
  26. break;
  27. }
  28. return size;
  29. }
  30. void iButtonKey::set_name(const char* _name) {
  31. name = _name;
  32. }
  33. const char* iButtonKey::get_name() {
  34. return name;
  35. }
  36. void iButtonKey::set_type(iButtonKeyType _key_type) {
  37. type = _key_type;
  38. }
  39. iButtonKeyType iButtonKey::get_key_type() {
  40. return type;
  41. }
  42. iButtonKey::iButtonKey(
  43. iButtonKeyType _type,
  44. const char* _name,
  45. uint8_t d0,
  46. uint8_t d1,
  47. uint8_t d2,
  48. uint8_t d3,
  49. uint8_t d4,
  50. uint8_t d5,
  51. uint8_t d6,
  52. uint8_t d7) {
  53. type = _type;
  54. name = _name;
  55. data[0] = d0;
  56. data[1] = d1;
  57. data[2] = d2;
  58. data[3] = d3;
  59. data[4] = d4;
  60. data[5] = d5;
  61. data[6] = d6;
  62. data[7] = d7;
  63. }
  64. iButtonKey::iButtonKey() {
  65. }