#include "adxl345.h"

//---------------------------------------------------------------------------------------//
/*void ADXL_WriteData(I2C_HandleTypeDef hi,uint8_t slave_adr, uint8_t adxl_reg, uint8_t*adxl_data, uint16_t datasize){   
    uint8_t error_str[]={"I2C Error"};
    while(HAL_I2C_Mem_Write(&hi, (uint16_t) (slave_adr<<1), (uint16_t) adxl_reg, I2C_MEMADD_SIZE_8BIT, adxl_data, datasize, (uint32_t)1000)!= HAL_OK){
        if (HAL_I2C_GetError(&hi) == HAL_I2C_ERROR_AF){
            LCD_Clear(white);
            LCD_PutStr(0,0,error_str,red,white);
}}}
//---------------------------------------------------------------------------------------//
void ADXL_ReadData(I2C_HandleTypeDef hi,uint8_t slave_adr, uint8_t adxl_reg, uint8_t*adxl_data, uint16_t datasize){
    uint8_t error_str[]={"I2C Error"};
    while(HAL_I2C_Mem_Read(&hi, (uint16_t) (slave_adr<<1), (uint16_t) adxl_reg, I2C_MEMADD_SIZE_8BIT, adxl_data, datasize, (uint32_t)1000)!= HAL_OK){  
        if (HAL_I2C_GetError(&hi) == HAL_I2C_ERROR_AF){
            LCD_Clear(white);
            LCD_PutStr(0,0,error_str,red,white);
}}}*/
//---------------------------------------------------------------------------------------//
void ADXL_Ini(void){
    uint8_t val;    
    val=0x28;
    I2C1_WriteData(ADXL_ADDRESS, POWER_CTL, &val, 1);      
    val=0x08;
    I2C1_WriteData(ADXL_ADDRESS, DATA_FORMAT, &val, 1);     
    val=0x00;
    I2C1_WriteData(ADXL_ADDRESS, FIFO_CTL, &val, 1);    
}
//---------------------------------------------------------------------------------------//
void ADXL_GetData(uint8_t*data){
    I2C1_ReadData(ADXL_ADDRESS, DATAX0, data, 6); //6 байтов x0,x1,y0,y1,z0,z1
}
//---------------------------------------------------------------------------------------//
uint8_t ADXL_GET_ID (void){
	uint8_t val;
    I2C1_ReadData(ADXL_ADDRESS, DEV_ID, &val, 1);
    return val;
}
//---------------------------------------------------------------------------------------//
