mirror of
https://github.com/stnolting/neorv32.git
synced 2025-04-23 21:57:33 -04:00
ONEWIRE: Change "variable style" by "pointer style" (#514)
This commit is contained in:
commit
c7804ba670
2 changed files with 22 additions and 22 deletions
|
@ -881,7 +881,7 @@ enum NEORV32_GPTMR_CTRL_enum {
|
|||
**************************************************************************/
|
||||
/**@{*/
|
||||
/** ONEWIRE module prototype */
|
||||
typedef struct __attribute__((packed,aligned(4))) {
|
||||
typedef volatile struct __attribute__((packed,aligned(4))) {
|
||||
uint32_t CTRL; /**< offset 0: control register (#NEORV32_ONEWIRE_CTRL_enum) */
|
||||
uint32_t DATA; /**< offset 4: transmission data register (#NEORV32_ONEWIRE_DATA_enum) */
|
||||
} neorv32_onewire_t;
|
||||
|
@ -890,7 +890,7 @@ typedef struct __attribute__((packed,aligned(4))) {
|
|||
#define NEORV32_ONEWIRE_BASE (0xFFFFFF70U)
|
||||
|
||||
/** ONEWIRE module hardware access (#neorv32_onewire_t) */
|
||||
#define NEORV32_ONEWIRE (*((volatile neorv32_onewire_t*) (NEORV32_ONEWIRE_BASE)))
|
||||
#define NEORV32_ONEWIRE ((neorv32_onewire_t*) (NEORV32_ONEWIRE_BASE))
|
||||
|
||||
/** ONEWIRE control register bits */
|
||||
enum NEORV32_ONEWIRE_CTRL_enum {
|
||||
|
|
|
@ -69,8 +69,8 @@ int neorv32_onewire_available(void) {
|
|||
int neorv32_onewire_setup(uint32_t t_base) {
|
||||
|
||||
// reset
|
||||
NEORV32_ONEWIRE.CTRL = 0;
|
||||
NEORV32_ONEWIRE.DATA = 0;
|
||||
NEORV32_ONEWIRE->CTRL = 0;
|
||||
NEORV32_ONEWIRE->DATA = 0;
|
||||
|
||||
const uint32_t PRSC_LUT[4] = {2, 4, 8, 64}; // subset of system clock prescalers
|
||||
|
||||
|
@ -101,7 +101,7 @@ int neorv32_onewire_setup(uint32_t t_base) {
|
|||
ctrl |= 1 << ONEWIRE_CTRL_EN; // module enable
|
||||
ctrl |= (clk_prsc_sel & 0x3) << ONEWIRE_CTRL_PRSC0; // clock prescaler
|
||||
ctrl |= ((clkdiv - 1) & 0xff) << ONEWIRE_CTRL_CLKDIV0; // clock divider
|
||||
NEORV32_ONEWIRE.CTRL = ctrl;
|
||||
NEORV32_ONEWIRE->CTRL = ctrl;
|
||||
|
||||
return (int)((t_clock_x250ps / 4) * PRSC_LUT[clk_prsc_sel] * clkdiv);
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ int neorv32_onewire_setup(uint32_t t_base) {
|
|||
**************************************************************************/
|
||||
void neorv32_onewire_enable(void) {
|
||||
|
||||
NEORV32_ONEWIRE.CTRL |= (1 << ONEWIRE_CTRL_EN);
|
||||
NEORV32_ONEWIRE->CTRL |= (1 << ONEWIRE_CTRL_EN);
|
||||
}
|
||||
|
||||
|
||||
|
@ -121,7 +121,7 @@ void neorv32_onewire_enable(void) {
|
|||
**************************************************************************/
|
||||
void neorv32_onewire_disable(void) {
|
||||
|
||||
NEORV32_ONEWIRE.CTRL &= ~(1 << ONEWIRE_CTRL_EN);
|
||||
NEORV32_ONEWIRE->CTRL &= ~(1 << ONEWIRE_CTRL_EN);
|
||||
}
|
||||
|
||||
|
||||
|
@ -132,7 +132,7 @@ void neorv32_onewire_disable(void) {
|
|||
**************************************************************************/
|
||||
int neorv32_onewire_sense(void) {
|
||||
|
||||
if (NEORV32_ONEWIRE.CTRL & (1 << ONEWIRE_CTRL_SENSE)) {
|
||||
if (NEORV32_ONEWIRE->CTRL & (1 << ONEWIRE_CTRL_SENSE)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
|
@ -156,7 +156,7 @@ int neorv32_onewire_sense(void) {
|
|||
int neorv32_onewire_busy(void) {
|
||||
|
||||
// check busy flag
|
||||
if (NEORV32_ONEWIRE.CTRL & (1 << ONEWIRE_CTRL_BUSY)) {
|
||||
if (NEORV32_ONEWIRE->CTRL & (1 << ONEWIRE_CTRL_BUSY)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
|
@ -173,7 +173,7 @@ int neorv32_onewire_busy(void) {
|
|||
void neorv32_onewire_reset(void) {
|
||||
|
||||
// trigger reset-pulse operation
|
||||
NEORV32_ONEWIRE.CTRL |= 1 << ONEWIRE_CTRL_TRIG_RST;
|
||||
NEORV32_ONEWIRE->CTRL |= 1 << ONEWIRE_CTRL_TRIG_RST;
|
||||
}
|
||||
|
||||
|
||||
|
@ -187,7 +187,7 @@ void neorv32_onewire_reset(void) {
|
|||
int neorv32_onewire_reset_get_presence(void) {
|
||||
|
||||
// check presence bit
|
||||
if (NEORV32_ONEWIRE.CTRL & (1 << ONEWIRE_CTRL_PRESENCE)) {
|
||||
if (NEORV32_ONEWIRE->CTRL & (1 << ONEWIRE_CTRL_PRESENCE)) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
|
@ -204,10 +204,10 @@ int neorv32_onewire_reset_get_presence(void) {
|
|||
void neorv32_onewire_read_bit(void) {
|
||||
|
||||
// output all-one
|
||||
NEORV32_ONEWIRE.DATA = 0xff;
|
||||
NEORV32_ONEWIRE->DATA = 0xff;
|
||||
|
||||
// trigger bit operation
|
||||
NEORV32_ONEWIRE.CTRL |= (1 << ONEWIRE_CTRL_TRIG_BIT);
|
||||
NEORV32_ONEWIRE->CTRL |= (1 << ONEWIRE_CTRL_TRIG_BIT);
|
||||
}
|
||||
|
||||
|
||||
|
@ -221,7 +221,7 @@ void neorv32_onewire_read_bit(void) {
|
|||
uint8_t neorv32_onewire_read_bit_get(void) {
|
||||
|
||||
// return read bit
|
||||
if (NEORV32_ONEWIRE.DATA & (1 << 7)) { // LSB first -> read bit is in MSB
|
||||
if (NEORV32_ONEWIRE->DATA & (1 << 7)) { // LSB first -> read bit is in MSB
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
|
@ -241,14 +241,14 @@ void neorv32_onewire_write_bit(uint8_t bit) {
|
|||
|
||||
// set replicated bit
|
||||
if (bit) {
|
||||
NEORV32_ONEWIRE.DATA = 0xff;
|
||||
NEORV32_ONEWIRE->DATA = 0xff;
|
||||
}
|
||||
else {
|
||||
NEORV32_ONEWIRE.DATA = 0x00;
|
||||
NEORV32_ONEWIRE->DATA = 0x00;
|
||||
}
|
||||
|
||||
// trigger bit operation
|
||||
NEORV32_ONEWIRE.CTRL |= (1 << ONEWIRE_CTRL_TRIG_BIT);
|
||||
NEORV32_ONEWIRE->CTRL |= (1 << ONEWIRE_CTRL_TRIG_BIT);
|
||||
}
|
||||
|
||||
|
||||
|
@ -260,10 +260,10 @@ void neorv32_onewire_write_bit(uint8_t bit) {
|
|||
void neorv32_onewire_read_byte(void) {
|
||||
|
||||
// output all-one
|
||||
NEORV32_ONEWIRE.DATA = 0xff;
|
||||
NEORV32_ONEWIRE->DATA = 0xff;
|
||||
|
||||
//trigger byte operation
|
||||
NEORV32_ONEWIRE.CTRL |= (1 << ONEWIRE_CTRL_TRIG_BYTE);
|
||||
NEORV32_ONEWIRE->CTRL |= (1 << ONEWIRE_CTRL_TRIG_BYTE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -277,7 +277,7 @@ void neorv32_onewire_read_byte(void) {
|
|||
uint8_t neorv32_onewire_read_byte_get(void) {
|
||||
|
||||
// return read bit
|
||||
return (uint8_t)(NEORV32_ONEWIRE.DATA);
|
||||
return (uint8_t)(NEORV32_ONEWIRE->DATA);
|
||||
}
|
||||
|
||||
|
||||
|
@ -291,10 +291,10 @@ uint8_t neorv32_onewire_read_byte_get(void) {
|
|||
void neorv32_onewire_write_byte(uint8_t byte) {
|
||||
|
||||
// TX data
|
||||
NEORV32_ONEWIRE.DATA = (uint32_t)byte;
|
||||
NEORV32_ONEWIRE->DATA = (uint32_t)byte;
|
||||
|
||||
// and trigger byte operation
|
||||
NEORV32_ONEWIRE.CTRL |= (1 << ONEWIRE_CTRL_TRIG_BYTE);
|
||||
NEORV32_ONEWIRE->CTRL |= (1 << ONEWIRE_CTRL_TRIG_BYTE);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue