Skip to content

Commit 7677c85

Browse files
committed
swap pow() function for _powtwo()
1 parent 1ca4c76 commit 7677c85

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

src/common/foc_utils.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#define _sqrt(a) (_sqrtApprox(a))
1313
#define _isset(a) ( (a) != (NOT_SET) )
1414
#define _UNUSED(v) (void) (v)
15+
#define _powtwo(x) (1 << (x))
1516

1617
// utility defines
1718
#define _2_SQRT3 1.15470053838f

src/sensors/MagneticSensorI2C.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ MagneticSensorI2C::MagneticSensorI2C(uint8_t _chip_address, int _bit_resolution,
2828
// angle read register of the magnetic sensor
2929
angle_register_msb = _angle_register_msb;
3030
// register maximum value (counts per revolution)
31-
cpr = pow(2, _bit_resolution);
31+
cpr = _powtwo(_bit_resolution);
3232

3333
// depending on the sensor architecture there are different combinations of
3434
// LSB and MSB register used bits
@@ -48,7 +48,7 @@ MagneticSensorI2C::MagneticSensorI2C(MagneticSensorI2CConfig_s config){
4848
// angle read register of the magnetic sensor
4949
angle_register_msb = config.angle_register;
5050
// register maximum value (counts per revolution)
51-
cpr = pow(2, config.bit_resolution);
51+
cpr = _powtwo(config.bit_resolution);
5252

5353
int bits_used_msb = config.data_start_bit - 7;
5454
lsb_used = config.bit_resolution - bits_used_msb;

src/sensors/MagneticSensorSPI.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ MagneticSensorSPIConfig_s MA730_SPI = {
3131
// cs - SPI chip select pin
3232
// _bit_resolution sensor resolution bit number
3333
// _angle_register - (optional) angle read register - default 0x3FFF
34-
MagneticSensorSPI::MagneticSensorSPI(int cs, float _bit_resolution, int _angle_register){
34+
MagneticSensorSPI::MagneticSensorSPI(int cs, int _bit_resolution, int _angle_register){
3535

3636
chip_select_pin = cs;
3737
// angle read register of the magnetic sensor
3838
angle_register = _angle_register ? _angle_register : DEF_ANGLE_REGISTER;
3939
// register maximum value (counts per revolution)
40-
cpr = pow(2,_bit_resolution);
40+
cpr = _powtwo(_bit_resolution);
4141
spi_mode = SPI_MODE1;
4242
clock_speed = 1000000;
4343
bit_resolution = _bit_resolution;
@@ -52,7 +52,7 @@ MagneticSensorSPI::MagneticSensorSPI(MagneticSensorSPIConfig_s config, int cs){
5252
// angle read register of the magnetic sensor
5353
angle_register = config.angle_register ? config.angle_register : DEF_ANGLE_REGISTER;
5454
// register maximum value (counts per revolution)
55-
cpr = pow(2, config.bit_resolution);
55+
cpr = _powtwo(config.bit_resolution);
5656
spi_mode = config.spi_mode;
5757
clock_speed = config.clock_speed;
5858
bit_resolution = config.bit_resolution;

src/sensors/MagneticSensorSPI.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class MagneticSensorSPI: public Sensor{
3030
* @param bit_resolution sensor resolution bit number
3131
* @param angle_register (optional) angle read register - default 0x3FFF
3232
*/
33-
MagneticSensorSPI(int cs, float bit_resolution, int angle_register = 0);
33+
MagneticSensorSPI(int cs, int bit_resolution, int angle_register = 0);
3434
/**
3535
* MagneticSensorSPI class constructor
3636
* @param config SPI config

0 commit comments

Comments
 (0)