|
|
@@ -100,12 +100,15 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
|
|
|
}
|
|
|
char bit_representation[response_length * 8 + 1];
|
|
|
bit_representation[0] = '\0';
|
|
|
- for(size_t i = 0; i < response_length; i++) {
|
|
|
+ for (size_t i = 0; i < response_length; i++) {
|
|
|
char bits[9];
|
|
|
uint8_t byte = bit_buffer_get_byte(rx_buffer, i);
|
|
|
- byte_to_binary(byte, bits);
|
|
|
- strcat(bit_representation, bits);
|
|
|
+ byte_to_binary(byte, bits);
|
|
|
+ for (int j = 0; j < 8; j++) {
|
|
|
+ bit_representation[i * 8 + j] = bits[j];
|
|
|
+ }
|
|
|
}
|
|
|
+ bit_representation[response_length * 8] = '\0';
|
|
|
int start = 55, end = 70;
|
|
|
float decimal_value = bit_slice_to_dec(bit_representation, start, end);
|
|
|
float balance = decimal_value / 100;
|
|
|
@@ -178,11 +181,13 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
|
|
|
}
|
|
|
char environment_bit_representation[response_length * 8 + 1];
|
|
|
environment_bit_representation[0] = '\0';
|
|
|
- for(size_t i = 0; i < response_length; i++) {
|
|
|
+ for (size_t i = 0; i < response_length; i++) {
|
|
|
char bits[9];
|
|
|
uint8_t byte = bit_buffer_get_byte(rx_buffer, i);
|
|
|
- byte_to_binary(byte, bits);
|
|
|
- strcat(environment_bit_representation, bits);
|
|
|
+ byte_to_binary(byte, bits);
|
|
|
+ for (int j = 0; j < 8; j++) {
|
|
|
+ environment_bit_representation[i * 8 + j] = bits[j];
|
|
|
+ }
|
|
|
}
|
|
|
start = 45;
|
|
|
end = 58;
|
|
|
@@ -256,11 +261,13 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
|
|
|
}
|
|
|
char event_bit_representation[response_length * 8 + 1];
|
|
|
event_bit_representation[0] = '\0';
|
|
|
- for(size_t i = 0; i < response_length; i++) {
|
|
|
+ for (size_t i = 0; i < response_length; i++) {
|
|
|
char bits[9];
|
|
|
uint8_t byte = bit_buffer_get_byte(rx_buffer, i);
|
|
|
- byte_to_binary(byte, bits);
|
|
|
- strcat(event_bit_representation, bits);
|
|
|
+ byte_to_binary(byte, bits);
|
|
|
+ for (int j = 0; j < 8; j++) {
|
|
|
+ event_bit_representation[i * 8 + j] = bits[j];
|
|
|
+ }
|
|
|
}
|
|
|
furi_string_cat_printf(parsed_data, "\nEvent 0%d:\n", i);
|
|
|
int start = 53, end = 60;
|