Wilson Tang / max14724

Fork of max14661 by Maxim Integrated

Embed: (wiki syntax)

« Back to documentation index

Max14724 Class Reference

Max14724 Class Reference

Max14724 Class. More...

#include <max14724.h>

Public Types

enum  max14724_i2c_adrs_t
 

max14724_i2c_adrs_t - enumerated MAX14724 I2C Addresses

More...
enum  max14724_regs_t
 

max14724_regs_t - enumerated MAX14724 register addresses

More...
enum  max14724_cmds_t
 

max14724_cmds_t - enumerated MAX14724 commands

More...
enum  max14724_sw_t
 

max14724_sw_t - enumerated MAX14724 switch bitmasks

More...

Public Member Functions

 Max14724 (PinName sda, PinName scl, max14724_i2c_adrs_t i2c_adrs)
 Constructor for Max14724 Class.
uint16_t wrt_cmd_registers (max14724_cmds_t cmdA, max14724_cmds_t cmdB, max14724_cmds_t cmdC, max14724_cmds_t cmdD)
 Writes given commands to CMD_A, CMD_B, CMD_C, and CMD_D.
uint16_t wrt_shadow_registers (uint8_t bankA, uint8_t bankB, uint8_t bankC, uint8_t bankD)
 Writes bankA, bankB, bankC, and bankD to coresponding shadow registers.
uint16_t wrt_dir_registers (uint8_t bankA, uint8_t bankB, uint8_t bankC, uint8_t bankD)
 Writes bankA, bankB, bankC, and bankD to coresponding direct access registers.
uint16_t set_switches (uint8_t bankA, uint8_t bankB, uint8_t bankC, uint8_t bankD)
 Writes bankA, bankB, bankC, and bankD to coresponding shadow register and then issues copy command for both banks.
uint16_t rd_dir_registers (uint8_t *data)
 Reads data from direct access registers starting at DIR0 and stores it in byte array pointed at by 'data'.
uint16_t rd_shadow_registers (uint8_t *data)
 Reads data from shadow registers starting at SHDW0 and stores it in byte array pointed at by 'data'.

Detailed Description

Max14724 Class.

Definition at line 61 of file max14724.h.


Member Enumeration Documentation

max14724_cmds_t - enumerated MAX14724 commands

Definition at line 98 of file max14724.h.

max14724_i2c_adrs_t - enumerated MAX14724 I2C Addresses

Definition at line 70 of file max14724.h.

max14724_regs_t - enumerated MAX14724 register addresses

Definition at line 80 of file max14724.h.

max14724_sw_t - enumerated MAX14724 switch bitmasks

Definition at line 117 of file max14724.h.


Constructor & Destructor Documentation

Max14724 ( PinName  sda,
PinName  scl,
max14724_i2c_adrs_t  i2c_adrs 
)

Constructor for Max14724 Class.

On Entry:

Parameters:
[in]sda- sda pin of I2C bus
[in]scl- scl pin of I2C bus
[in]i2c_adrs- 7-bit slave address of MAX14724

On Exit:

Returns:
none

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0); 

Definition at line 73 of file max14724.cpp.


Member Function Documentation

uint16_t rd_dir_registers ( uint8_t *  data )

Reads data from direct access registers starting at DIR0 and stores it in byte array pointed at by 'data'.

On Entry:

Parameters:
[in]data- pointer to byte array for storing data

On Exit:

Parameters:
[out]data- data buffer now contains data read from dir registers
Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0); 

 uint16_t rtn_val;  
 uint8_t data[4];
 
 //read direct access registers
 rtn_val = mux.rd_dir_registers(data);

Definition at line 292 of file max14724.cpp.

uint16_t rd_shadow_registers ( uint8_t *  data )

Reads data from shadow registers starting at SHDW0 and stores it in byte array pointed at by 'data'.

On Entry:

Parameters:
[in]data- pointer to byte array for storing data

On Exit:

Parameters:
[out]data- data buffer now contains data read from shadow registers
Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0); 

 uint16_t rtn_val;  
 uint8_t data[4];
 
 //read shadow registers
 rtn_val = mux.rd_shadow_registers(data);

Definition at line 334 of file max14724.cpp.

uint16_t set_switches ( uint8_t  bankA,
uint8_t  bankB,
uint8_t  bankC,
uint8_t  bankD 
)

Writes bankA, bankB, bankC, and bankD to coresponding shadow register and then issues copy command for both banks.

On Entry:

Parameters:
[in]bankA- binary representation of switch states
[in]bankB- binary representation of switch states
[in]bankC- binary representation of switch states
[in]bankD- binary representation of switch states

On Exit:

Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0);   

 uint16_t bankA = (SW12 | SW02); //example only
 uint16_t bankB = (SW11 | SW01);
 uint16_t bankC = SW07;
 uint16_t bankD = SW08;
 uint16_t rtn_val;  
  
 //wite shadow registers
 rtn_val = mux.set_switches(bankA, bankB, bankC, bankD);

Definition at line 246 of file max14724.cpp.

uint16_t wrt_cmd_registers ( max14724_cmds_t  cmdA,
max14724_cmds_t  cmdB,
max14724_cmds_t  cmdC,
max14724_cmds_t  cmdD 
)

Writes given commands to CMD_A, CMD_B, CMD_C, and CMD_D.

On Entry:

Parameters:
[in]cmdA- command for CMD_A
[in]cmdB- command for CMD_B
[in]cmdC- command for CMD_C
[in]cmdD- command for CMD_D

On Exit:

Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0); 

 uint16_t rtn_val;  

 rtn_val = mux.wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK, DISABLE_BANK, DISABLE_BANK);

Definition at line 105 of file max14724.cpp.

uint16_t wrt_dir_registers ( uint8_t  bankA,
uint8_t  bankB,
uint8_t  bankC,
uint8_t  bankD 
)

Writes bankA, bankB, bankC, and bankD to coresponding direct access registers.

Writes bankA, bankB, bankC, and bankD to coresponding shadow registers.

On Entry:

Parameters:
[in]bankA- binary representation of switch states
[in]bankB- binary representation of switch states
[in]bankC- binary representation of switch states
[in]bankD- binary representation of switch states

On Exit:

Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0);   

 uint16_t bankA = (SW12 | SW02); //example only
 uint16_t bankB = (SW11 | SW01);
 uint16_t bankC = SW07;
 uint16_t bankD = SW08;
 uint16_t rtn_val;  
  
 //wite shadow registers
 rtn_val = mux.wrt_dir_registers(bankA, bankB, bankC, bankD);

On Entry:

Parameters:
[in]bankA- binary representation of switch states
[in]bankB- binary representation of switch states
[in]bankC- binary representation of switch states
[in]bankD- binary representation of switch states

On Exit:

Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0);

 uint8_t bankA = (SW03 | SW02); //example only
 uint8_t bankB = (SW05 | SW04);
 uint8_t bankC = SW07;
 uint8_t bankD = SW08;
 uint16_t rtn_val;

 //wite shadow registers
 rtn_val = mux.wrt_shadow_registers(bankA, bankB, bankC, bankD);

Definition at line 198 of file max14724.cpp.

uint16_t wrt_shadow_registers ( uint8_t  bankA,
uint8_t  bankB,
uint8_t  bankC,
uint8_t  bankD 
)

Writes bankA, bankB, bankC, and bankD to coresponding shadow registers.

On Entry:

Parameters:
[in]bankA- binary representation of switch states
[in]bankB- binary representation of switch states
[in]bankC- binary representation of switch states
[in]bankD- binary representation of switch states

On Exit:

Returns:
return value = 0 on success, non-0 on failure

Example:

 //declare mux object
 Max14724 mux(D14, D15, MAX14724_I2C_ADRS0); 

 uint16_t bankA = (SW03 | SW02); //example only
 uint16_t bankB = (SW05 | SW04);
 uint16_t bankC = SW07;
 uint16_t bankD = SW08;
 uint16_t rtn_val;  
  
 //wite shadow registers
 rtn_val = mux.wrt_shadow_registers(bankA, bankB, bankC, bankD);

Definition at line 151 of file max14724.cpp.