Rename api-hal to furi-hal (#629)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include "bq25896.h"
|
||||
#include "bq25896_reg.h"
|
||||
|
||||
#include <api-hal-i2c.h>
|
||||
#include <furi-hal-i2c.h>
|
||||
#include <stddef.h>
|
||||
|
||||
uint8_t bit_reverse(uint8_t b) {
|
||||
@@ -13,9 +13,9 @@ uint8_t bit_reverse(uint8_t b) {
|
||||
|
||||
bool bq25896_read(uint8_t address, uint8_t* data, size_t size) {
|
||||
bool ret;
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
bool, &ret, () {
|
||||
return api_hal_i2c_trx(
|
||||
return furi_hal_i2c_trx(
|
||||
POWER_I2C, BQ25896_ADDRESS, &address, 1, data, size, BQ25896_I2C_TIMEOUT);
|
||||
});
|
||||
return ret;
|
||||
@@ -29,9 +29,9 @@ bool bq25896_read_reg(uint8_t address, uint8_t* data) {
|
||||
bool bq25896_write_reg(uint8_t address, uint8_t* data) {
|
||||
uint8_t buffer[2] = {address, *data};
|
||||
bool ret;
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
bool, &ret, () {
|
||||
return api_hal_i2c_tx(POWER_I2C, BQ25896_ADDRESS, buffer, 2, BQ25896_I2C_TIMEOUT);
|
||||
return furi_hal_i2c_tx(POWER_I2C, BQ25896_ADDRESS, buffer, 2, BQ25896_I2C_TIMEOUT);
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
|
@@ -1,16 +1,16 @@
|
||||
#include "bq27220.h"
|
||||
#include "bq27220_reg.h"
|
||||
|
||||
#include <api-hal-i2c.h>
|
||||
#include <api-hal-delay.h>
|
||||
#include <furi-hal-i2c.h>
|
||||
#include <furi-hal-delay.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
uint16_t bq27220_read_word(uint8_t address) {
|
||||
uint8_t buffer[2] = {address};
|
||||
uint16_t ret;
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
uint16_t, &ret, () {
|
||||
if(api_hal_i2c_trx(
|
||||
if(furi_hal_i2c_trx(
|
||||
POWER_I2C, BQ27220_ADDRESS, buffer, 1, buffer, 2, BQ27220_I2C_TIMEOUT)) {
|
||||
return *(uint16_t*)buffer;
|
||||
} else {
|
||||
@@ -22,13 +22,13 @@ uint16_t bq27220_read_word(uint8_t address) {
|
||||
|
||||
bool bq27220_control(uint16_t control) {
|
||||
bool ret;
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
bool, &ret, () {
|
||||
uint8_t buffer[3];
|
||||
buffer[0] = CommandControl;
|
||||
buffer[1] = control & 0xFF;
|
||||
buffer[2] = (control >> 8) & 0xFF;
|
||||
return api_hal_i2c_tx(POWER_I2C, BQ27220_ADDRESS, buffer, 3, BQ27220_I2C_TIMEOUT);
|
||||
return furi_hal_i2c_tx(POWER_I2C, BQ27220_ADDRESS, buffer, 3, BQ27220_I2C_TIMEOUT);
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
@@ -44,23 +44,23 @@ uint8_t bq27220_get_checksum(uint8_t* data, uint16_t len) {
|
||||
bool bq27220_set_parameter_u16(uint16_t address, uint16_t value) {
|
||||
bool ret;
|
||||
uint8_t buffer[5];
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
bool, &ret, () {
|
||||
buffer[0] = CommandSelectSubclass;
|
||||
buffer[1] = address & 0xFF;
|
||||
buffer[2] = (address >> 8) & 0xFF;
|
||||
buffer[3] = (value >> 8) & 0xFF;
|
||||
buffer[4] = value & 0xFF;
|
||||
return api_hal_i2c_tx(POWER_I2C, BQ27220_ADDRESS, buffer, 5, BQ27220_I2C_TIMEOUT);
|
||||
return furi_hal_i2c_tx(POWER_I2C, BQ27220_ADDRESS, buffer, 5, BQ27220_I2C_TIMEOUT);
|
||||
});
|
||||
delay_us(10000);
|
||||
uint8_t checksum = bq27220_get_checksum(&buffer[1], 4);
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
bool, &ret, () {
|
||||
buffer[0] = CommandMACDataSum;
|
||||
buffer[1] = checksum;
|
||||
buffer[2] = 6;
|
||||
return api_hal_i2c_tx(POWER_I2C, BQ27220_ADDRESS, buffer, 3, BQ27220_I2C_TIMEOUT);
|
||||
return furi_hal_i2c_tx(POWER_I2C, BQ27220_ADDRESS, buffer, 3, BQ27220_I2C_TIMEOUT);
|
||||
});
|
||||
delay_us(10000);
|
||||
return ret;
|
||||
|
@@ -1,43 +1,43 @@
|
||||
#include "cc1101.h"
|
||||
#include <cmsis_os2.h>
|
||||
#include <api-hal-delay.h>
|
||||
#include <furi-hal-delay.h>
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
CC1101Status cc1101_strobe(const ApiHalSpiDevice* device, uint8_t strobe) {
|
||||
CC1101Status cc1101_strobe(const FuriHalSpiDevice* device, uint8_t strobe) {
|
||||
uint8_t tx[1] = { strobe };
|
||||
CC1101Status rx[1] = { 0 };
|
||||
|
||||
hal_gpio_write(device->chip_select, false);
|
||||
while(hal_gpio_read(device->bus->miso));
|
||||
api_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, 1, CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, 1, CC1101_TIMEOUT);
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
|
||||
assert(rx[0].CHIP_RDYn == 0);
|
||||
return rx[0];
|
||||
}
|
||||
|
||||
CC1101Status cc1101_write_reg(const ApiHalSpiDevice* device, uint8_t reg, uint8_t data) {
|
||||
CC1101Status cc1101_write_reg(const FuriHalSpiDevice* device, uint8_t reg, uint8_t data) {
|
||||
uint8_t tx[2] = { reg, data };
|
||||
CC1101Status rx[2] = { 0 };
|
||||
|
||||
hal_gpio_write(device->chip_select, false);
|
||||
while(hal_gpio_read(device->bus->miso));
|
||||
api_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, 2, CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, 2, CC1101_TIMEOUT);
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
|
||||
assert((rx[0].CHIP_RDYn|rx[1].CHIP_RDYn) == 0);
|
||||
return rx[1];
|
||||
}
|
||||
|
||||
CC1101Status cc1101_read_reg(const ApiHalSpiDevice* device, uint8_t reg, uint8_t* data) {
|
||||
CC1101Status cc1101_read_reg(const FuriHalSpiDevice* device, uint8_t reg, uint8_t* data) {
|
||||
assert(sizeof(CC1101Status) == 1);
|
||||
uint8_t tx[2] = { reg|CC1101_READ, 0};
|
||||
CC1101Status rx[2] = { 0 };
|
||||
|
||||
hal_gpio_write(device->chip_select, false);
|
||||
while(hal_gpio_read(device->bus->miso));
|
||||
api_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, 2, CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, 2, CC1101_TIMEOUT);
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
|
||||
assert((rx[0].CHIP_RDYn) == 0);
|
||||
@@ -45,25 +45,25 @@ CC1101Status cc1101_read_reg(const ApiHalSpiDevice* device, uint8_t reg, uint8_t
|
||||
return rx[0];
|
||||
}
|
||||
|
||||
uint8_t cc1101_get_partnumber(const ApiHalSpiDevice* device) {
|
||||
uint8_t cc1101_get_partnumber(const FuriHalSpiDevice* device) {
|
||||
uint8_t partnumber=0;
|
||||
cc1101_read_reg(device, CC1101_STATUS_PARTNUM|CC1101_BURST, &partnumber);
|
||||
return partnumber;
|
||||
}
|
||||
|
||||
uint8_t cc1101_get_version(const ApiHalSpiDevice* device) {
|
||||
uint8_t cc1101_get_version(const FuriHalSpiDevice* device) {
|
||||
uint8_t version=0;
|
||||
cc1101_read_reg(device, CC1101_STATUS_VERSION|CC1101_BURST, &version);
|
||||
return version;
|
||||
}
|
||||
|
||||
uint8_t cc1101_get_rssi(const ApiHalSpiDevice* device) {
|
||||
uint8_t cc1101_get_rssi(const FuriHalSpiDevice* device) {
|
||||
uint8_t rssi=0;
|
||||
cc1101_read_reg(device, CC1101_STATUS_RSSI|CC1101_BURST, &rssi);
|
||||
return rssi;
|
||||
}
|
||||
|
||||
void cc1101_reset(const ApiHalSpiDevice* device) {
|
||||
void cc1101_reset(const FuriHalSpiDevice* device) {
|
||||
hal_gpio_write(device->chip_select, false);
|
||||
delay_us(1000);
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
@@ -71,39 +71,39 @@ void cc1101_reset(const ApiHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SRES);
|
||||
}
|
||||
|
||||
CC1101Status cc1101_get_status(const ApiHalSpiDevice* device) {
|
||||
CC1101Status cc1101_get_status(const FuriHalSpiDevice* device) {
|
||||
return cc1101_strobe(device, CC1101_STROBE_SNOP);
|
||||
}
|
||||
|
||||
void cc1101_shutdown(const ApiHalSpiDevice* device) {
|
||||
void cc1101_shutdown(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SPWD);
|
||||
}
|
||||
|
||||
void cc1101_calibrate(const ApiHalSpiDevice* device) {
|
||||
void cc1101_calibrate(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SCAL);
|
||||
}
|
||||
|
||||
void cc1101_switch_to_idle(const ApiHalSpiDevice* device) {
|
||||
void cc1101_switch_to_idle(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SIDLE);
|
||||
}
|
||||
|
||||
void cc1101_switch_to_rx(const ApiHalSpiDevice* device) {
|
||||
void cc1101_switch_to_rx(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SRX);
|
||||
}
|
||||
|
||||
void cc1101_switch_to_tx(const ApiHalSpiDevice* device) {
|
||||
void cc1101_switch_to_tx(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_STX);
|
||||
}
|
||||
|
||||
void cc1101_flush_rx(const ApiHalSpiDevice* device) {
|
||||
void cc1101_flush_rx(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SFRX);
|
||||
}
|
||||
|
||||
void cc1101_flush_tx(const ApiHalSpiDevice* device) {
|
||||
void cc1101_flush_tx(const FuriHalSpiDevice* device) {
|
||||
cc1101_strobe(device, CC1101_STROBE_SFTX);
|
||||
}
|
||||
|
||||
uint32_t cc1101_set_frequency(const ApiHalSpiDevice* device, uint32_t value) {
|
||||
uint32_t cc1101_set_frequency(const FuriHalSpiDevice* device, uint32_t value) {
|
||||
uint64_t real_value = (uint64_t)value * CC1101_FDIV / CC1101_QUARTZ;
|
||||
|
||||
// Sanity check
|
||||
@@ -118,7 +118,7 @@ uint32_t cc1101_set_frequency(const ApiHalSpiDevice* device, uint32_t value) {
|
||||
return (uint32_t)real_frequency;
|
||||
}
|
||||
|
||||
uint32_t cc1101_set_intermediate_frequency(const ApiHalSpiDevice* device, uint32_t value) {
|
||||
uint32_t cc1101_set_intermediate_frequency(const FuriHalSpiDevice* device, uint32_t value) {
|
||||
uint64_t real_value = value * CC1101_IFDIV / CC1101_QUARTZ;
|
||||
assert((real_value & 0xFF) == real_value);
|
||||
|
||||
@@ -129,7 +129,7 @@ uint32_t cc1101_set_intermediate_frequency(const ApiHalSpiDevice* device, uint32
|
||||
return (uint32_t)real_frequency;
|
||||
}
|
||||
|
||||
void cc1101_set_pa_table(const ApiHalSpiDevice* device, const uint8_t value[8]) {
|
||||
void cc1101_set_pa_table(const FuriHalSpiDevice* device, const uint8_t value[8]) {
|
||||
uint8_t tx[9] = { CC1101_PATABLE | CC1101_BURST };
|
||||
CC1101Status rx[9] = { 0 };
|
||||
|
||||
@@ -137,13 +137,13 @@ void cc1101_set_pa_table(const ApiHalSpiDevice* device, const uint8_t value[8])
|
||||
|
||||
hal_gpio_write(device->chip_select, false);
|
||||
while(hal_gpio_read(device->bus->miso));
|
||||
api_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, sizeof(rx), CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, tx, (uint8_t*)rx, sizeof(rx), CC1101_TIMEOUT);
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
|
||||
assert((rx[0].CHIP_RDYn|rx[8].CHIP_RDYn) == 0);
|
||||
}
|
||||
|
||||
uint8_t cc1101_write_fifo(const ApiHalSpiDevice* device, const uint8_t* data, uint8_t size) {
|
||||
uint8_t cc1101_write_fifo(const FuriHalSpiDevice* device, const uint8_t* data, uint8_t size) {
|
||||
uint8_t buff_tx[64];
|
||||
uint8_t buff_rx[64];
|
||||
buff_tx[0] = CC1101_FIFO | CC1101_BURST;
|
||||
@@ -154,7 +154,7 @@ uint8_t cc1101_write_fifo(const ApiHalSpiDevice* device, const uint8_t* data, ui
|
||||
// Wait IC to become ready
|
||||
while(hal_gpio_read(device->bus->miso));
|
||||
// Tell IC what we want
|
||||
api_hal_spi_bus_trx(device->bus, buff_tx, (uint8_t*) buff_rx, size + 1, CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, buff_tx, (uint8_t*) buff_rx, size + 1, CC1101_TIMEOUT);
|
||||
|
||||
// Finish transaction
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
@@ -162,7 +162,7 @@ uint8_t cc1101_write_fifo(const ApiHalSpiDevice* device, const uint8_t* data, ui
|
||||
return size;
|
||||
}
|
||||
|
||||
uint8_t cc1101_read_fifo(const ApiHalSpiDevice* device, uint8_t* data, uint8_t* size) {
|
||||
uint8_t cc1101_read_fifo(const FuriHalSpiDevice* device, uint8_t* data, uint8_t* size) {
|
||||
uint8_t buff_tx[64];
|
||||
buff_tx[0] = CC1101_FIFO | CC1101_READ | CC1101_BURST;
|
||||
uint8_t buff_rx[2];
|
||||
@@ -173,9 +173,9 @@ uint8_t cc1101_read_fifo(const ApiHalSpiDevice* device, uint8_t* data, uint8_t*
|
||||
while(hal_gpio_read(device->bus->miso));
|
||||
|
||||
// First byte - packet length
|
||||
api_hal_spi_bus_trx(device->bus, buff_tx, buff_rx, 2, CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, buff_tx, buff_rx, 2, CC1101_TIMEOUT);
|
||||
*size = buff_rx[2];
|
||||
api_hal_spi_bus_trx(device->bus, &buff_tx[1], data, *size, CC1101_TIMEOUT);
|
||||
furi_hal_spi_bus_trx(device->bus, &buff_tx[1], data, *size, CC1101_TIMEOUT);
|
||||
cc1101_flush_rx(device);
|
||||
|
||||
hal_gpio_write(device->chip_select, true);
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <api-hal-spi.h>
|
||||
#include <furi-hal-spi.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -13,131 +13,131 @@ extern "C" {
|
||||
/* Low level API */
|
||||
|
||||
/** Strobe command to the device
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param strobe - command to execute
|
||||
* @return device status
|
||||
*/
|
||||
CC1101Status cc1101_strobe(const ApiHalSpiDevice* device, uint8_t strobe);
|
||||
CC1101Status cc1101_strobe(const FuriHalSpiDevice* device, uint8_t strobe);
|
||||
|
||||
/** Write device register
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param reg - register
|
||||
* @param data - data to write
|
||||
* @return device status
|
||||
*/
|
||||
CC1101Status cc1101_write_reg(const ApiHalSpiDevice* device, uint8_t reg, uint8_t data);
|
||||
CC1101Status cc1101_write_reg(const FuriHalSpiDevice* device, uint8_t reg, uint8_t data);
|
||||
|
||||
/** Read device register
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param reg - register
|
||||
* @param[out] data - pointer to data
|
||||
* @return device status
|
||||
*/
|
||||
CC1101Status cc1101_read_reg(const ApiHalSpiDevice* device, uint8_t reg, uint8_t* data);
|
||||
CC1101Status cc1101_read_reg(const FuriHalSpiDevice* device, uint8_t reg, uint8_t* data);
|
||||
|
||||
/* High level API */
|
||||
|
||||
/** Reset
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_reset(const ApiHalSpiDevice* device);
|
||||
void cc1101_reset(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Get status
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
CC1101Status cc1101_get_status(const ApiHalSpiDevice* device);
|
||||
CC1101Status cc1101_get_status(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Enable shutdown mode
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_shutdown(const ApiHalSpiDevice* device);
|
||||
void cc1101_shutdown(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Get Partnumber
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
uint8_t cc1101_get_partnumber(const ApiHalSpiDevice* device);
|
||||
uint8_t cc1101_get_partnumber(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Get Version
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
uint8_t cc1101_get_version(const ApiHalSpiDevice* device);
|
||||
uint8_t cc1101_get_version(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Get raw RSSI value
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
uint8_t cc1101_get_rssi(const ApiHalSpiDevice* device);
|
||||
uint8_t cc1101_get_rssi(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Calibrate oscillator
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_calibrate(const ApiHalSpiDevice* device);
|
||||
void cc1101_calibrate(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Switch to idle
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_switch_to_idle(const ApiHalSpiDevice* device);
|
||||
void cc1101_switch_to_idle(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Switch to RX
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_switch_to_rx(const ApiHalSpiDevice* device);
|
||||
void cc1101_switch_to_rx(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Switch to TX
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_switch_to_tx(const ApiHalSpiDevice* device);
|
||||
void cc1101_switch_to_tx(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Flush RX FIFO
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_flush_rx(const ApiHalSpiDevice* device);
|
||||
void cc1101_flush_rx(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Flush TX FIFO
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
*/
|
||||
void cc1101_flush_tx(const ApiHalSpiDevice* device);
|
||||
void cc1101_flush_tx(const FuriHalSpiDevice* device);
|
||||
|
||||
/** Set Frequency
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param value - frequency in herz
|
||||
* @return real frequency that were synthesized
|
||||
*/
|
||||
uint32_t cc1101_set_frequency(const ApiHalSpiDevice* device, uint32_t value);
|
||||
uint32_t cc1101_set_frequency(const FuriHalSpiDevice* device, uint32_t value);
|
||||
|
||||
/** Set Intermediate Frequency
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param value - frequency in herz
|
||||
* @return real inermediate frequency that were synthesized
|
||||
*/
|
||||
uint32_t cc1101_set_intermediate_frequency(const ApiHalSpiDevice* device, uint32_t value);
|
||||
uint32_t cc1101_set_intermediate_frequency(const FuriHalSpiDevice* device, uint32_t value);
|
||||
|
||||
/** Set Power Amplifier level table, ramp
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param value - array of power level values
|
||||
*/
|
||||
void cc1101_set_pa_table(const ApiHalSpiDevice* device, const uint8_t value[8]);
|
||||
void cc1101_set_pa_table(const FuriHalSpiDevice* device, const uint8_t value[8]);
|
||||
|
||||
/** Set Power Amplifier level table, ramp
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param value - array of power level values
|
||||
*/
|
||||
void cc1101_set_pa_table(const ApiHalSpiDevice* device, const uint8_t value[8]);
|
||||
void cc1101_set_pa_table(const FuriHalSpiDevice* device, const uint8_t value[8]);
|
||||
|
||||
/** Write FIFO
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param data, pointer to byte array
|
||||
* @param size, write bytes count
|
||||
* @return size, written bytes count
|
||||
*/
|
||||
uint8_t cc1101_write_fifo(const ApiHalSpiDevice* device, const uint8_t* data, uint8_t size);
|
||||
uint8_t cc1101_write_fifo(const FuriHalSpiDevice* device, const uint8_t* data, uint8_t size);
|
||||
|
||||
/** Read FIFO
|
||||
* @param device - pointer to ApiHalSpiDevice
|
||||
* @param device - pointer to FuriHalSpiDevice
|
||||
* @param data, pointer to byte array
|
||||
* @param size, bytes to read from fifo
|
||||
* @return size, read bytes count
|
||||
*/
|
||||
uint8_t cc1101_read_fifo(const ApiHalSpiDevice* device, uint8_t* data, uint8_t* size);
|
||||
uint8_t cc1101_read_fifo(const FuriHalSpiDevice* device, uint8_t* data, uint8_t* size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -1,15 +1,15 @@
|
||||
#include "lp5562.h"
|
||||
#include "lp5562_reg.h"
|
||||
|
||||
#include <api-hal-i2c.h>
|
||||
#include <furi-hal-i2c.h>
|
||||
#include <stdio.h>
|
||||
|
||||
bool lp5562_write_reg(uint8_t address, uint8_t* data) {
|
||||
uint8_t buffer[2] = {address, *data};
|
||||
bool ret;
|
||||
with_api_hal_i2c(
|
||||
with_furi_hal_i2c(
|
||||
bool, &ret, () {
|
||||
return api_hal_i2c_tx(POWER_I2C, LP5562_ADDRESS, buffer, 2, LP5562_I2C_TIMEOUT);
|
||||
return furi_hal_i2c_tx(POWER_I2C, LP5562_ADDRESS, buffer, 2, LP5562_I2C_TIMEOUT);
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user