#include "shift_register_internal.h" #include const DataPosition data_position_create(volatile byte* pin, byte position) { DataPosition dp = { pin, position }; return dp; } bool data_position_get_pin(const DataPosition position) { return get_value(position.pin, position.position); } void data_position_set_port(const DataPosition position) { set_value(position.pin + SR_PORT_OFFSET, position.position); } void data_position_reset_port(const DataPosition position) { reset_value(position.pin + SR_PORT_OFFSET, position.position); } void data_position_set_ddr(const DataPosition position) { set_value(position.pin + SR_DDR_OFFSET, position.position); } void data_position_reset_ddr(const DataPosition position) { reset_value(position.pin + SR_DDR_OFFSET, position.position); }