+static uint8_t visa_chksum( uint32_t id ) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < 32; i += 4)
+ sum ^= (id >> i) & 0xF;
+ return sum & 0xF;
+}
+
+/**
+*
+* 56495332 00096ebd 00000077 —> tag id 618173
+* aaaaaaaa iiiiiiii -----..c
+*
+* a = fixed value ascii 'VIS2'
+* i = card id
+* c = checksum (xor of card id)
+* . = unknown
+*
+**/