void boolchain_capture(bc_t *p_boolchain) { uint8_t i; SET_LOAD(p_boolchain); PULSE_CLOCK(p_boolchain); SET_SHIFT(p_boolchain); for(i = 0; i < p_boolchain->count; i++) p_boolchain->buffer[p_boolchain->count - 1 - i] = bc_next(p_boolchain); }
inline void display_word(uint16_t word) { uint8_t i; for (i = 0; i < 16; i++) { uint8_t bit = word & 1; word >>= 1; SET_DATA(bit); PULSE_CLOCK(); } SAVE_DATA(); }
//! Zero all of the values out static void zero_bc(bc_t *p_bc) { p_bc->writer(BOOLSIG_ZERO, true); PULSE_CLOCK(p_bc); p_bc->writer(BOOLSIG_ZERO, false); }
//! Read the next value out static bool bc_next(bc_t *p_bc) { PULSE_CLOCK(p_bc); return p_bc->reader(BOOLSIG_RETURN); }