uint8_t mem_config; //[13]
uint8_t eas; //[14]
uint8_t fuses; //[15]
-}picopass_conf_block;
+} picopass_conf_block;
typedef struct {
uint8_t key_d[8];
uint8_t key_c[8];
uint8_t app_issuer_area[8];
-
-}picopass_hdr;
+} picopass_hdr;
uint8_t isset(uint8_t val, uint8_t mask) {
return (val & mask);
void fuse_config(const picopass_hdr *hdr) {
uint8_t fuses = hdr->conf.fuses;
- if (isset(fuses,FUSE_FPERS))prnt(" Mode: Personalization [Programmable]");
- else prnt(" Mode: Application [Locked]");
+ if (isset(fuses,FUSE_FPERS))
+ prnt(" Mode: Personalization [Programmable]");
+ else
+ prnt(" Mode: Application [Locked]");
- if (isset(fuses, FUSE_CODING1))
+ if (isset(fuses, FUSE_CODING1)) {
prnt(" Coding: RFU");
- else
- {
- if( isset( fuses , FUSE_CODING0)) prnt(" Coding: ISO 14443-2 B/ISO 15693");
- else prnt(" Coding: ISO 14443B only");
+ } else {
+ if( isset( fuses , FUSE_CODING0))
+ prnt(" Coding: ISO 14443-2 B/ISO 15693");
+ else
+ prnt(" Coding: ISO 14443B only");
}
if( isset (fuses,FUSE_CRYPT1 | FUSE_CRYPT0 )) prnt(" Crypt: Secured page, keys not locked");
if( isset (fuses,FUSE_CRYPT1) && notset( fuses, FUSE_CRYPT0 )) prnt(" Crypt: Secured page, keys not locked");
if( notset (fuses,FUSE_CRYPT1) && isset( fuses, FUSE_CRYPT0 )) prnt(" Crypt: Non secured page");
if( notset (fuses,FUSE_CRYPT1) && notset( fuses, FUSE_CRYPT0 )) prnt(" Crypt: No auth possible. Read only if RA is enabled");
- if( isset( fuses, FUSE_RA)) prnt(" RA: Read access enabled");
- else prnt(" RA: Read access not enabled");
+ if( isset( fuses, FUSE_RA))
+ prnt(" RA: Read access enabled");
+ else
+ prnt(" RA: Read access not enabled");
}
void getMemConfig(uint8_t mem_cfg, uint8_t chip_cfg, uint8_t *max_blk, uint8_t *app_areas, uint8_t *kb) {