|
ABS SCPI Driver 1.1.0
ABS SCPI driver library
|
Functions for controlling and measuring the cells. More...
Collaboration diagram for Cell Control:Modules | |
| Cell Faults | |
| Cell faulting states constants. | |
| Cell Current Sense Ranges | |
| Cell sense range constants. | |
| Cell Operating Modes | |
| Cell operating mode constants. | |
Functions | |
| int | AbsScpiClient_EnableCell (AbsScpiClientHandle handle, unsigned int cell, bool en) |
| Enable a single cell. | |
| int | AbsScpiClient_EnableCellsMasked (AbsScpiClientHandle handle, unsigned int cells, bool en) |
| Enable or disable multiple cells at once. | |
| int | AbsScpiClient_GetCellEnabled (AbsScpiClientHandle handle, unsigned int cell, bool *en_out) |
| Query whether a cell is enabled. | |
| int | AbsScpiClient_GetCellsEnabledMasked (AbsScpiClientHandle handle, unsigned int *cells_out) |
| Query the enable state of all cells. | |
| int | AbsScpiClient_SetCellVoltage (AbsScpiClientHandle handle, unsigned int cell, float voltage) |
| Set a single cell's target voltage. | |
| int | AbsScpiClient_SetAllCellVoltages (AbsScpiClientHandle handle, const float voltages[], unsigned int count) |
| Set many cells' target voltages. | |
| int | AbsScpiClient_SetMultipleCellVoltages (AbsScpiClientHandle handle, unsigned int cells, float voltage) |
| Set multiple cells to the same voltage. | |
| int | AbsScpiClient_GetCellVoltageTarget (AbsScpiClientHandle handle, unsigned int cell, float *voltage_out) |
| Query a cell's target voltage. | |
| int | AbsScpiClient_GetAllCellVoltageTargets (AbsScpiClientHandle handle, float voltages_out[], unsigned int count) |
| Query many cells' target voltages. | |
| int | AbsScpiClient_SetCellSourcing (AbsScpiClientHandle handle, unsigned int cell, float limit) |
| Set a single cell's current sourcing limit. | |
| int | AbsScpiClient_SetAllCellSourcing (AbsScpiClientHandle handle, const float limits[], unsigned int count) |
| Set many cells' sourcing limits. | |
| int | AbsScpiClient_SetMultipleCellSourcing (AbsScpiClientHandle handle, unsigned int cells, float limit) |
| Set multiple cells to the same sourcing limit. | |
| int | AbsScpiClient_GetCellSourcingLimit (AbsScpiClientHandle handle, unsigned int cell, float *limit_out) |
| Query a single cell's sourcing limit. | |
| int | AbsScpiClient_GetAllCellSourcingLimits (AbsScpiClientHandle handle, float limits_out[], unsigned int count) |
| Query many cells' sourcing limits. | |
| int | AbsScpiClient_SetCellSinking (AbsScpiClientHandle handle, unsigned int cell, float limit) |
| Set a single cell's current sinking limit. | |
| int | AbsScpiClient_SetAllCellSinking (AbsScpiClientHandle handle, const float limits[], unsigned int count) |
| Set many cells' sinking limits. | |
| int | AbsScpiClient_SetMultipleCellSinking (AbsScpiClientHandle handle, unsigned int cells, float limit) |
| Set multiple cells to the same sinking limit. | |
| int | AbsScpiClient_GetCellSinkingLimit (AbsScpiClientHandle handle, unsigned int cell, float *limit_out) |
| Query a single cell's sinking limit. | |
| int | AbsScpiClient_GetAllCellSinkingLimits (AbsScpiClientHandle handle, float limits_out[], unsigned int count) |
| Query many cells' sinking limits. | |
| int | AbsScpiClient_SetCellFault (AbsScpiClientHandle handle, unsigned int cell, int fault) |
| Set a single cell's fault state. | |
| int | AbsScpiClient_SetAllCellFaults (AbsScpiClientHandle handle, const int faults[], unsigned int count) |
| Set many cells' fault states. | |
| int | AbsScpiClient_SetMultipleCellFaults (AbsScpiClientHandle handle, unsigned int cells, int fault) |
| Set multiple cells to the same fault state. | |
| int | AbsScpiClient_GetCellFault (AbsScpiClientHandle handle, unsigned int cell, int *fault_out) |
| Query a single cell's fault state. | |
| int | AbsScpiClient_GetAllCellFaults (AbsScpiClientHandle handle, int faults_out[], unsigned int count) |
| Query many cells' fault states. | |
| int | AbsScpiClient_SetCellSenseRange (AbsScpiClientHandle handle, unsigned int cell, int range) |
| Set a single cell's current sense range. | |
| int | AbsScpiClient_SetAllCellSenseRanges (AbsScpiClientHandle handle, const int ranges[], unsigned int count) |
| Set many cells' current sense ranges. | |
| int | AbsScpiClient_GetCellSenseRange (AbsScpiClientHandle handle, unsigned int cell, int *range_out) |
| Query a single cell's current sense range. | |
| int | AbsScpiClient_GetAllCellSenseRanges (AbsScpiClientHandle handle, int ranges_out[], unsigned int count) |
| Query many cells' current sense ranges. | |
| int | AbsScpiClient_EnableCellNoiseFilter (AbsScpiClientHandle handle, bool en) |
| Enable or disable the cell 50/60Hz noise filter. | |
| int | AbsScpiClient_GetCellNoiseFilterEnabled (AbsScpiClientHandle handle, bool *en_out) |
| Query the enable state of the cell 50/60Hz noise filter. | |
| int | AbsScpiClient_MeasureCellVoltage (AbsScpiClientHandle handle, unsigned int cell, float *voltage_out) |
| Measure a cell's voltage. | |
| int | AbsScpiClient_MeasureAllCellVoltages (AbsScpiClientHandle handle, float voltages_out[], unsigned int count) |
| Measure many cells' voltages. | |
| int | AbsScpiClient_MeasureCellCurrent (AbsScpiClientHandle handle, unsigned int cell, float *current_out) |
| Measure a cell's current. | |
| int | AbsScpiClient_MeasureAllCellCurrents (AbsScpiClientHandle handle, float currents_out[], unsigned int count) |
| Measure many cells' currents. | |
| int | AbsScpiClient_MeasureAverageCellVoltage (AbsScpiClientHandle handle, unsigned int cell, float *voltage_out) |
| Retrieve the rolling average of the last 10 voltage measurements for a single cell. | |
| int | AbsScpiClient_MeasureAllAverageCellVoltages (AbsScpiClientHandle handle, float voltages_out[], unsigned int count) |
| Retrieve the rolling average of the last 10 voltage measurements for many cells. | |
| int | AbsScpiClient_MeasureAverageCellCurrent (AbsScpiClientHandle handle, unsigned int cell, float *current_out) |
| Retrieve the rolling average of the last 10 current measurements for a single cell. | |
| int | AbsScpiClient_MeasureAllAverageCellCurrents (AbsScpiClientHandle handle, float currents_out[], unsigned int count) |
| Retrieve the rolling average of the last 10 current measurements for many cells. | |
| int | AbsScpiClient_GetCellOperatingMode (AbsScpiClientHandle handle, unsigned int cell, int *mode_out) |
| Query a cell's operating mode (constant voltage or current-limited). | |
| int | AbsScpiClient_GetAllCellOperatingModes (AbsScpiClientHandle handle, int modes_out[], unsigned int count) |
| Query many cells' operating modes (constant voltage or current-limited). | |
Functions for controlling and measuring the cells.
| int AbsScpiClient_EnableCell | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| bool | en | ||
| ) |
Enable a single cell.
| [in] | handle | SCPI client |
| [in] | cell | the cell index 0-7 |
| [in] | en | whether to enable the cell |
| int AbsScpiClient_EnableCellNoiseFilter | ( | AbsScpiClientHandle | handle, |
| bool | en | ||
| ) |
Enable or disable the cell 50/60Hz noise filter.
This mode filters 50/60Hz noise and increases cell measurement accuracy, but reduces the cell control rate to 10Hz.
| [in] | handle | SCPI client |
| [in] | en | desired cell noise filter state |
| int AbsScpiClient_EnableCellsMasked | ( | AbsScpiClientHandle | handle, |
| unsigned int | cells, | ||
| bool | en | ||
| ) |
Enable or disable multiple cells at once.
| [in] | handle | SCPI client |
| [in] | cells | a bitmask of cells to control, where bit 0 corresponds to cell 1 |
| [in] | en | the desired enable state of the masked cells |
| int AbsScpiClient_GetAllCellFaults | ( | AbsScpiClientHandle | handle, |
| int | faults_out[], | ||
| unsigned int | count | ||
| ) |
Query many cells' fault states.
| [in] | handle | SCPI client |
| [out] | faults_out | array to store the returned fault states |
| [in] | count | length of the array (must not be greater than the total cell count) |
| int AbsScpiClient_GetAllCellOperatingModes | ( | AbsScpiClientHandle | handle, |
| int | modes_out[], | ||
| unsigned int | count | ||
| ) |
Query many cells' operating modes (constant voltage or current-limited).
| [in] | handle | SCPI client |
| [out] | modes_out | array to store the returned modes, one per cell |
| [in] | count | number of cells to query (must not be greater than the total number of cells) |
| int AbsScpiClient_GetAllCellSenseRanges | ( | AbsScpiClientHandle | handle, |
| int | ranges_out[], | ||
| unsigned int | count | ||
| ) |
Query many cells' current sense ranges.
| [in] | handle | SCPI client |
| [out] | ranges_out | array to store the returned sense ranges |
| [in] | count | length of the array (must not be greater than the total cell count) |
| int AbsScpiClient_GetAllCellSinkingLimits | ( | AbsScpiClientHandle | handle, |
| float | limits_out[], | ||
| unsigned int | count | ||
| ) |
Query many cells' sinking limits.
| [in] | handle | SCPI client |
| [out] | limits_out | array to store the returned limits |
| [in] | count | length of the array (must not be greater than the total cell count) |
| int AbsScpiClient_GetAllCellSourcingLimits | ( | AbsScpiClientHandle | handle, |
| float | limits_out[], | ||
| unsigned int | count | ||
| ) |
Query many cells' sourcing limits.
| [in] | handle | SCPI client |
| [out] | limits_out | array to store the returned limits |
| [in] | count | length of the array (must not be greater than the total cell count) |
| int AbsScpiClient_GetAllCellVoltageTargets | ( | AbsScpiClientHandle | handle, |
| float | voltages_out[], | ||
| unsigned int | count | ||
| ) |
Query many cells' target voltages.
| [in] | handle | SCPI client |
| [out] | voltages_out | an array to store the returned voltages |
| [in] | count | length of the voltages array (must not be greater than the total cell count) |
| int AbsScpiClient_GetCellEnabled | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| bool * | en_out | ||
| ) |
Query whether a cell is enabled.
| [in] | handle | SCPI client |
| [in] | cell | cell index 0-7 |
| [out] | en_out | pointer to the returned enable state |
| int AbsScpiClient_GetCellFault | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| int * | fault_out | ||
| ) |
Query a single cell's fault state.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | fault_out | pointer to the returned fault state |
| int AbsScpiClient_GetCellNoiseFilterEnabled | ( | AbsScpiClientHandle | handle, |
| bool * | en_out | ||
| ) |
Query the enable state of the cell 50/60Hz noise filter.
| [in] | handle | SCPI client |
| [out] | en_out | a pointer to the returned filter state |
| int AbsScpiClient_GetCellOperatingMode | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| int * | mode_out | ||
| ) |
Query a cell's operating mode (constant voltage or current-limited).
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | mode_out | pointer to returned operating mode |
| int AbsScpiClient_GetCellsEnabledMasked | ( | AbsScpiClientHandle | handle, |
| unsigned int * | cells_out | ||
| ) |
Query the enable state of all cells.
| [in] | handle | SCPI client |
| [out] | cells_out | pointer to the returned bitmask containing a 1 bit for each enabled cell and a 0 for each disabled cell |
| int AbsScpiClient_GetCellSenseRange | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| int * | range_out | ||
| ) |
Query a single cell's current sense range.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | range_out | pointer to the returned sense range |
| int AbsScpiClient_GetCellSinkingLimit | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | limit_out | ||
| ) |
Query a single cell's sinking limit.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | limit_out | pointer to the returned sinking limit |
| int AbsScpiClient_GetCellSourcingLimit | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | limit_out | ||
| ) |
Query a single cell's sourcing limit.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | limit_out | pointer to the returned sourcing limit |
| int AbsScpiClient_GetCellVoltageTarget | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | voltage_out | ||
| ) |
Query a cell's target voltage.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | voltage_out | pointer to the returned cell voltage target |
| int AbsScpiClient_MeasureAllAverageCellCurrents | ( | AbsScpiClientHandle | handle, |
| float | currents_out[], | ||
| unsigned int | count | ||
| ) |
Retrieve the rolling average of the last 10 current measurements for many cells.
At the default sample rate, this is a 10ms window. With filtering on, the length of this window will change.
| [in] | handle | SCPI client |
| [out] | currents_out | array to store the returned average currents, one per cell |
| [in] | count | the number of cells to measure |
| int AbsScpiClient_MeasureAllAverageCellVoltages | ( | AbsScpiClientHandle | handle, |
| float | voltages_out[], | ||
| unsigned int | count | ||
| ) |
Retrieve the rolling average of the last 10 voltage measurements for many cells.
At the default sample rate, this is a 10ms window. With filtering on, the length of this window will change.
| [in] | handle | SCPI client |
| [out] | voltages_out | array to store the returned average voltages, one per cell |
| [in] | count | the number of cells to measure |
| int AbsScpiClient_MeasureAllCellCurrents | ( | AbsScpiClientHandle | handle, |
| float | currents_out[], | ||
| unsigned int | count | ||
| ) |
Measure many cells' currents.
| [in] | handle | SCPI client |
| [out] | currents_out | array to store the returned currents, one per cell |
| [in] | count | the number of cells to measure |
| int AbsScpiClient_MeasureAllCellVoltages | ( | AbsScpiClientHandle | handle, |
| float | voltages_out[], | ||
| unsigned int | count | ||
| ) |
Measure many cells' voltages.
| [in] | handle | SCPI client |
| [out] | voltages_out | array to store the returned voltages, one per cell |
| [in] | count | the number of cells to measure |
| int AbsScpiClient_MeasureAverageCellCurrent | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | current_out | ||
| ) |
Retrieve the rolling average of the last 10 current measurements for a single cell.
At the default sample rate, this is a 10ms window. With filtering on, the length of this window will change.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | current_out | pointer to the returned average current |
| int AbsScpiClient_MeasureAverageCellVoltage | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | voltage_out | ||
| ) |
Retrieve the rolling average of the last 10 voltage measurements for a single cell.
At the default sample rate, this is a 10ms window. With filtering on, the length of this window will change.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | voltage_out | pointer to the returned average voltage |
| int AbsScpiClient_MeasureCellCurrent | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | current_out | ||
| ) |
Measure a cell's current.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | current_out | pointer to the returned current |
| int AbsScpiClient_MeasureCellVoltage | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float * | voltage_out | ||
| ) |
Measure a cell's voltage.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [out] | voltage_out | pointer to the returned voltage |
| int AbsScpiClient_SetAllCellFaults | ( | AbsScpiClientHandle | handle, |
| const int | faults[], | ||
| unsigned int | count | ||
| ) |
Set many cells' fault states.
| [in] | handle | SCPI client |
| [in] | faults | fault states, one per cell |
| [in] | count | number of cells to target (must not be greater than the total cell count) |
| int AbsScpiClient_SetAllCellSenseRanges | ( | AbsScpiClientHandle | handle, |
| const int | ranges[], | ||
| unsigned int | count | ||
| ) |
Set many cells' current sense ranges.
| [in] | handle | SCPI client |
| [in] | ranges | sense ranges, one per cell |
| [in] | count | number of cells to target (must not be greater than the total cell count) |
| int AbsScpiClient_SetAllCellSinking | ( | AbsScpiClientHandle | handle, |
| const float | limits[], | ||
| unsigned int | count | ||
| ) |
Set many cells' sinking limits.
| [in] | handle | SCPI client |
| [in] | limits | sinking limits, one per cell |
| [in] | count | number of cells to target (must not be greater than the total cell count) |
| int AbsScpiClient_SetAllCellSourcing | ( | AbsScpiClientHandle | handle, |
| const float | limits[], | ||
| unsigned int | count | ||
| ) |
Set many cells' sourcing limits.
| [in] | handle | SCPI client |
| [in] | limits | sourcing limits, one per cell |
| [in] | count | number of cells to target (must not be greater than the total cell count) |
| int AbsScpiClient_SetAllCellVoltages | ( | AbsScpiClientHandle | handle, |
| const float | voltages[], | ||
| unsigned int | count | ||
| ) |
Set many cells' target voltages.
| [in] | handle | SCPI client |
| [in] | voltages | array of voltages |
| [in] | count | length of the voltages array (must not be greater than the total cell count) |
| int AbsScpiClient_SetCellFault | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| int | fault | ||
| ) |
Set a single cell's fault state.
| [in] | handle | SCPI client |
| [in] | cell | cell index, 0-7 |
| [in] | fault | desired cell fault |
| int AbsScpiClient_SetCellSenseRange | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| int | range | ||
| ) |
Set a single cell's current sense range.
| [in] | handle | SCPI client |
| [in] | cell | cell index, 0-7 |
| [in] | range | desired cell current sense range |
| int AbsScpiClient_SetCellSinking | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float | limit | ||
| ) |
Set a single cell's current sinking limit.
| [in] | handle | SCPI client |
| [in] | cell | cell index, 0-7 |
| [in] | limit | desired sinking limit, 0-5 (may be positive or negative) |
| int AbsScpiClient_SetCellSourcing | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float | limit | ||
| ) |
Set a single cell's current sourcing limit.
| [in] | handle | SCPI client |
| [in] | cell | cell index, 0-7 |
| [in] | limit | desired sourcing limit, 0-5 |
| int AbsScpiClient_SetCellVoltage | ( | AbsScpiClientHandle | handle, |
| unsigned int | cell, | ||
| float | voltage | ||
| ) |
Set a single cell's target voltage.
| [in] | handle | SCPI client |
| [in] | cell | target cell index, 0-7 |
| [in] | voltage | cell voltage, 0-5 |
| int AbsScpiClient_SetMultipleCellFaults | ( | AbsScpiClientHandle | handle, |
| unsigned int | cells, | ||
| int | fault | ||
| ) |
Set multiple cells to the same fault state.
| [in] | handle | SCPI client |
| [in] | cells | bitmask of cells to target, one bit per cell |
| [in] | fault | target cell fault state |
| int AbsScpiClient_SetMultipleCellSinking | ( | AbsScpiClientHandle | handle, |
| unsigned int | cells, | ||
| float | limit | ||
| ) |
Set multiple cells to the same sinking limit.
| [in] | handle | SCPI client |
| [in] | cells | bitmask of cells to target (one bit per cell) |
| [in] | limit | target sinking limit, 0-5 (positive or negative) |
| int AbsScpiClient_SetMultipleCellSourcing | ( | AbsScpiClientHandle | handle, |
| unsigned int | cells, | ||
| float | limit | ||
| ) |
Set multiple cells to the same sourcing limit.
| [in] | handle | SCPI client |
| [in] | cells | bitmask of cells to target (one bit per cell) |
| [in] | limit | target sourcing limit, 0-5 |
| int AbsScpiClient_SetMultipleCellVoltages | ( | AbsScpiClientHandle | handle, |
| unsigned int | cells, | ||
| float | voltage | ||
| ) |
Set multiple cells to the same voltage.
| [in] | handle | SCPI client |
| [in] | cells | bitmask of cells to target (one bit per cell) |
| [in] | voltage | target voltage |