mag_helpers.h 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. #include "../mag_i.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. void play_bit_rfid(uint8_t send_bit, MagSetting* setting);
  5. void play_bit_gpio(uint8_t send_bit, MagSetting* setting);
  6. bool play_bit(uint8_t send_bit, MagSetting* setting);
  7. void tx_init_rfid();
  8. void tx_init_gpio();
  9. void tx_reset_rfid();
  10. void tx_reset_gpio();
  11. bool tx_init(MagSetting* setting);
  12. bool tx_reset(MagSetting* setting);
  13. void track_to_bits(uint8_t* bit_array, const char* track_data, uint8_t track_index);
  14. void mag_spoof(Mag* mag);
  15. void set_bit(uint8_t* b, uint32_t blen, uint32_t bitpos, bool val);
  16. bool get_bit(uint8_t* b, uint32_t blen, uint32_t bitpos);
  17. #define PREFIX_NUM_ZEROES 25
  18. #define BITS_TRACK1 7
  19. #define OFFSET_TRACK1 32
  20. #define BITS_TRACK2 5
  21. #define OFFSET_TRACK2 48
  22. uint16_t add_bit(bool value, uint8_t* out, uint16_t count);
  23. uint16_t add_bit_manchester(bool value, uint8_t* out, uint16_t count);
  24. uint16_t msr_encode(char* data, uint8_t* out_manchester, uint8_t* out_raw, uint8_t track_bits, uint8_t track_ascii_offset);
  25. void debug_msr_string(char* data, uint8_t track_bits, uint8_t track_ascii_offset);
  26. void mag_spoof_bitwise(Mag* mag);
  27. void tx_deinit_rf();
  28. void tx_init_rf(int hz);