// set up default device ID static void GetDefaultDeviceName(BYTE * dn, const BYTE * sn, const struct connection_in * in) { switch (get_busmode(in)) { case bus_tester: // "bus number" dn[1] = BYTE_MASK(in->master.tester.index >> 0) ; dn[2] = BYTE_MASK(in->master.tester.index >> 8) ; // repeat family code dn[3] = sn[0] ; // family code complement dn[4] = BYTE_INVERSE(sn[0]) ; // "device" number dn[5] = BYTE_MASK(DirblobElements(&(in->master.fake.main)) >> 0) ; dn[6] = BYTE_MASK(DirblobElements(&(in->master.fake.main)) >> 8) ; break ; case bus_fake: case bus_mock: default: // only for compiler warning dn[1] = BYTE_MASK(rand()) ; dn[2] = BYTE_MASK(rand()) ; dn[3] = BYTE_MASK(rand()) ; dn[4] = BYTE_MASK(rand()) ; dn[5] = BYTE_MASK(rand()) ; dn[6] = BYTE_MASK(rand()) ; break ; } }
/* From register 0x89 */ static ZERO_OR_ERROR FS_r_pio(struct one_wire_query *owq) { BYTE data[6]; RETURN_ERROR_IF_BAD( OW_r_reg(data, PN(owq)) ) ; OWQ_U(owq) = BYTE_INVERSE(data[1]); /* reverse bits */ return 0; }
/* 2408 switch PIO change*/ static ZERO_OR_ERROR FS_w_pio(struct one_wire_query *owq) { BYTE data = BYTE_INVERSE(OWQ_U(owq)) & 0xFF ; /* reverse bits */ return GB_to_Z_OR_E(OW_w_pio(data, PN(owq))) ; }