Skip to content

Commit

Permalink
Compiling warning fixes and Humidity removing
Browse files Browse the repository at this point in the history
  • Loading branch information
atc1441 committed Dec 5, 2021
1 parent 9275d1f commit 54ba18c
Show file tree
Hide file tree
Showing 15 changed files with 31 additions and 125 deletions.
Binary file modified Firmware/ATC_Paper.bin
Binary file not shown.
5 changes: 3 additions & 2 deletions Firmware/components/application/print/u_printf.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,16 +205,17 @@ static int print(char **out, const char *format, va_list args) {
return pc;
}

//extern void puts(const char* str);
int u_printf(const char *format, ...) {
static char my_printf_buff[1024] = { 0 };
char *out = &my_printf_buff[0];

extern void puts(char* s);

va_list args;
va_start(args, format );
print(&out, format, args);
puts(my_printf_buff);
//puts(my_printf_buff);
return 0;
}

int u_sprintf(char *out, const char *format, ...) {
Expand Down
1 change: 1 addition & 0 deletions Firmware/components/drivers/8258/gpio_8258.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ void gpio_init(int anaRes_init_en);
* @return none.
*/
void gpio_set_func(GPIO_PinTypeDef pin, GPIO_FuncTypeDef func);
void gpio_set_func2(GPIO_PinTypeDef pin, GPIO_FuncTypeDef func);

/**
* @brief This function set the output function of a pin.
Expand Down
4 changes: 2 additions & 2 deletions Firmware/components/stack/ble/ll/ll.h
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,10 @@ typedef void (*blt_event_callback_t)(u8 e, u8 *p, int n);


my_fifo_t blt_rxfifo;
u8 blt_rxfifo_b[];
//u8 blt_rxfifo_b[];

my_fifo_t blt_txfifo;
u8 blt_txfifo_b[];
//u8 blt_txfifo_b[];
//////////////////////////////////////


Expand Down
2 changes: 1 addition & 1 deletion Firmware/components/vendor/common/blt_soft_timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

//user define
#ifndef BLT_SOFTWARE_TIMER_ENABLE
#define BLT_SOFTWARE_TIMER_ENABLE 0 //enable or disable
#define BLT_SOFTWARE_TIMER_ENABLE 1 //enable or disable
#endif


Expand Down
3 changes: 2 additions & 1 deletion Firmware/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ GCC_FLAGS := \
-std=gnu99 \
-funsigned-char \
-fshort-wchar \
-fms-extensions
-fms-extensions \
-Wno-unused

INCLUDE_PATHS := -I$(TEL_PATH)/components -I$(PROJECT_PATH)

Expand Down
18 changes: 0 additions & 18 deletions Firmware/src/app_att.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,8 @@ RAM u8 my_batVal[1] = {100};
//////////////////////// Temp /////////////////////////////////////////////////
static const u16 my_tempServiceUUID = 0x181A;
static const u16 my_tempCharUUID = 0x2A1F;
static const u16 my_humiCharUUID = 0x2A6F;
static u8 tempValueInCCC[2];
RAM u8 my_tempVal[2] = {0};
static u8 humiValueInCCC[2];
RAM u8 my_humiVal[2] = {0};

/////////////////////////////////////////////////////////
static const u8 my_OtaUUID[16] = TELINK_SPP_DATA_OTA;
Expand All @@ -84,10 +81,6 @@ static const u16 my_RxTx_ServiceUUID = 0x1f10;
static u8 my_RxTx_Data = 0x00;
static u8 RxTxValueInCCC[2];

//0x95FE
static const u16 my_FE95_ServiceUUID = 0xFE95;
static const u8 my_MiName[] = {'M', 'i'};

// Include attribute (Battery service)
static const u16 include[3] = {BATT_PS_H, BATT_LEVEL_INPUT_CCB_H, SERVICE_UUID_BATTERY};

Expand Down Expand Up @@ -130,13 +123,6 @@ static const u8 my_tempCharVal[5] = {
U16_LO(0x2A1F), U16_HI(0x2A1F)
};

//// Humi attribute values
static const u8 my_humiCharVal[5] = {
CHAR_PROP_READ | CHAR_PROP_NOTIFY,
U16_LO(HUMI_LEVEL_INPUT_DP_H), U16_HI(HUMI_LEVEL_INPUT_DP_H),
U16_LO(0x2A6F), U16_HI(0x2A6F)
};

//// OTA attribute values
#define TELINK_SPP_DATA_OTA1 0x12,0x2B,0x0d,0x0c,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00
static const u8 my_OtaCharVal[19] = {
Expand Down Expand Up @@ -182,10 +168,6 @@ static const attribute_t my_Attributes[] = {
{0,ATT_PERMISSIONS_READ,2,sizeof(my_tempCharVal),(u8*)(&my_characterUUID), (u8*)(my_tempCharVal), 0}, //prop
{0,ATT_PERMISSIONS_READ,2,sizeof(my_tempVal),(u8*)(&my_tempCharUUID), (u8*)(my_tempVal), 0}, //value
{0,ATT_PERMISSIONS_RDWR,2,sizeof(tempValueInCCC),(u8*)(&clientCharacterCfgUUID), (u8*)(tempValueInCCC), 0}, //value

{0,ATT_PERMISSIONS_READ,2,sizeof(my_humiCharVal),(u8*)(&my_characterUUID), (u8*)(my_humiCharVal), 0}, //prop
{0,ATT_PERMISSIONS_READ,2,sizeof(my_humiVal),(u8*)(&my_humiCharUUID), (u8*)(my_humiVal), 0}, //value
{0,ATT_PERMISSIONS_RDWR,2,sizeof(humiValueInCCC),(u8*)(&clientCharacterCfgUUID), (u8*)(humiValueInCCC), 0}, //value
////////////////////////////////////// OTA /////////////////////////////////////////////////////
// 002e - 0031
{4,ATT_PERMISSIONS_READ, 2,16,(u8*)(&my_primaryServiceUUID), (u8*)(&my_OtaServiceUUID), 0},
Expand Down
6 changes: 1 addition & 5 deletions Firmware/src/app_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ extern "C" {

#define CLOCK_SYS_CLOCK_HZ 24000000

#define ADVERTISING_INTERVAL 3000
#define ADVERTISING_INTERVAL 300

#define RAM _attribute_data_retention_ // short version, this is needed to keep the values in ram after sleep

Expand Down Expand Up @@ -52,10 +52,6 @@ typedef enum
TEMP_LEVEL_INPUT_CD_H, //UUID: 2803, VALUE: Prop: Read | Notify
TEMP_LEVEL_INPUT_DP_H, //UUID: 2A19 VALUE: tempVal
TEMP_LEVEL_INPUT_CCB_H, //UUID: 2902, VALUE: tempValCCC

HUMI_LEVEL_INPUT_CD_H, //UUID: 2803, VALUE: Prop: Read | Notify
HUMI_LEVEL_INPUT_DP_H, //UUID: 2A19 VALUE: humiVal
HUMI_LEVEL_INPUT_CCB_H, //UUID: 2902, VALUE: humiValCCC

//// Ota ////
/**********************************************************************************************/
Expand Down
54 changes: 0 additions & 54 deletions Firmware/src/ble.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
RAM uint8_t ble_connected = 0;

extern uint8_t my_tempVal[2];
extern uint8_t my_humiVal[2];
extern uint8_t my_batVal[1];

RAM uint8_t blt_rxfifo_b[64 * 8] = {0};
Expand All @@ -27,17 +26,6 @@ RAM my_fifo_t blt_txfifo = { 40, 16, 0, 0, blt_txfifo_b,};

RAM uint8_t ble_name[] = {11, 0x09, 'E', 'S', 'L', '_', '0', '0', '0', '0', '0', '0'};

RAM bool show_temp_humi_Mi = true;

RAM uint8_t advertising_data_Mi[] = {
/*Description*/21, 0x16, 0x95, 0xfe,
/*Start*/0x50, 0x30,
/*Device id*/0x5B, 0x05,
/*counter*/0x00,
/*MAC*/0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*Temp+Humi*//*BatL alternating*/0x0D, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00,
};

RAM uint8_t advertising_data[] = {
/*Description*/16, 0x16, 0x1a, 0x18,
/*MAC*/0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Expand Down Expand Up @@ -130,13 +118,6 @@ void init_ble(){
advertising_data[8] = mac_public[1];
advertising_data[9] = mac_public[0];

advertising_data_Mi[9] = mac_public[0];
advertising_data_Mi[10] = mac_public[1];
advertising_data_Mi[11] = mac_public[2];
advertising_data_Mi[12] = mac_public[3];
advertising_data_Mi[13] = mac_public[4];
advertising_data_Mi[14] = mac_public[5];

////// Controller Initialization //////////
blc_ll_initBasicMCU(); //must
blc_ll_initStandby_module(mac_public); //must
Expand Down Expand Up @@ -175,34 +156,7 @@ bool ble_get_connected(){
return ble_connected;
}

extern settings_struct settings;//Custom or Mi Advertising
void set_adv_data(int16_t temp, uint16_t humi, uint8_t battery_level, uint16_t battery_mv){
if(settings.advertising_type){//Mi Like Advertising
humi = humi * 10;

advertising_data_Mi[8]++;

if(show_temp_humi_Mi){//Alternate between Sensor and Battery level
advertising_data_Mi[15] = 0x0d;
advertising_data_Mi[17] = 0x04;

advertising_data_Mi[18] = temp&0xff;
advertising_data_Mi[19] = temp>>8;
advertising_data_Mi[20] = humi&0xff;
advertising_data_Mi[21] = humi>>8;
}else{
advertising_data_Mi[15] = 0x0a;
advertising_data_Mi[17] = 0x01;

advertising_data_Mi[18] = battery_level;
advertising_data_Mi[19] = 0x00;
advertising_data_Mi[20] = 0x00;
advertising_data_Mi[21] = 0x00;
}
show_temp_humi_Mi = !show_temp_humi_Mi;

bls_ll_setAdvData( (uint8_t *)advertising_data_Mi, sizeof(advertising_data_Mi));
}else{//Custom advertising type
advertising_data[10] = temp>>8;
advertising_data[11] = temp&0xff;

Expand All @@ -216,7 +170,6 @@ void set_adv_data(int16_t temp, uint16_t humi, uint8_t battery_level, uint16_t b
advertising_data[16]++;

bls_ll_setAdvData( (uint8_t *)advertising_data, sizeof(advertising_data));
}
}

void ble_send_temp(uint16_t temp){
Expand All @@ -225,13 +178,6 @@ void ble_send_temp(uint16_t temp){
bls_att_pushNotifyData(TEMP_LEVEL_INPUT_DP_H, my_tempVal, 2);
}

void ble_send_humi(uint16_t humi){
humi*=100;
my_humiVal[0] = humi & 0xFF;
my_humiVal[1] = humi >> 8;
bls_att_pushNotifyData(HUMI_LEVEL_INPUT_DP_H, (uint8_t *)my_humiVal, 2);
}

void ble_send_battery(uint8_t value){
my_batVal[0] = value;
bls_att_pushNotifyData(BATT_LEVEL_INPUT_DP_H, (uint8_t *)my_batVal, 1);
Expand Down
1 change: 0 additions & 1 deletion Firmware/src/ble.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@ void init_ble();
void set_adv_data(int16_t temp, uint16_t humi, uint8_t battery_level, uint16_t battery_mv);
bool ble_get_connected();
void ble_send_temp(uint16_t temp);
void ble_send_humi(uint16_t humi);
void ble_send_battery(uint8_t value);
void blt_pm_proc(void);
12 changes: 0 additions & 12 deletions Firmware/src/cmd_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,25 +45,13 @@ void cmd_parser(void * p){
settings.comfort_smiley = true; // Comfort Indicator
}else if(inData == 0xAB){
settings.blinking_smiley = true;//Smiley blinking
}else if(inData == 0xAE){
settings.advertising_type = false;//Advertising type Custom
}else if(inData == 0xAF){
settings.advertising_type = true;//Advertising type Mi Like
}else if(inData == 0xFE){
settings.advertising_interval = req->dat[1];//Set advertising interval with second byte, value*10second / 0=main_delay
}else if(inData == 0xFA){
settings.temp_offset = req->dat[1];//Set temp offset, -12,5 - +12,5 °C
}else if(inData == 0xFB){
settings.humi_offset = req->dat[1];//Set humi offset, -50 - +50 %
if(settings.humi_offset<-50)settings.humi_offset=-50;
if(settings.humi_offset>50)settings.humi_offset=50;
}else if(inData == 0xFC){
settings.temp_alarm_point = req->dat[1];//Set temp alarm point value divided by 10 for temp in °C
if(settings.temp_alarm_point==0)settings.temp_alarm_point = 1;
}else if(inData == 0xFD){
settings.humi_alarm_point = req->dat[1];//Set humi alarm point
if(settings.humi_alarm_point==0)settings.humi_alarm_point = 1;
if(settings.humi_alarm_point>50)settings.humi_alarm_point = 50;
}else if(inData == 0xDD){// Set display segments directly

}else if(inData == 0xDE){// Save settings in flash to default
Expand Down
3 changes: 0 additions & 3 deletions Firmware/src/flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,10 @@ void reset_settings_to_default()
settings.blinking_smiley = false;
settings.comfort_smiley = true;
settings.show_batt_enabled = true;
settings.advertising_type = false;
settings.advertising_interval = 6;
settings.measure_interval = 10;
settings.temp_offset = 0;
settings.humi_offset = 0;
settings.temp_alarm_point = 5;
settings.humi_alarm_point = 5;
}

void save_settings_to_flash()
Expand Down
8 changes: 2 additions & 6 deletions Firmware/src/flash.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

struct Settings_struct
typedef struct Settings_struct
{
uint32_t magic;
uint32_t len;
Expand All @@ -9,17 +9,13 @@ struct Settings_struct
uint8_t blinking_smiley;
uint8_t comfort_smiley;
uint8_t show_batt_enabled;
uint8_t advertising_type;//Custom or Mi Advertising (true)
uint8_t advertising_interval;//advise new values - multiply by 10 for value
uint8_t measure_interval;//time = loop interval * factor (def: about 7 * X)
int8_t temp_offset;
int8_t humi_offset;
uint8_t temp_alarm_point;//divide by ten for value
uint8_t humi_alarm_point;
uint8_t crc;// Needs to be at the last position otherwise the settings can not be validated on next boot!!!!
};
} settings_struct;

typedef struct Settings_struct settings_struct;

void init_flash();
void reset_settings_to_default();
Expand Down
3 changes: 1 addition & 2 deletions Firmware/src/obd.inl
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,6 @@ int iPitch = pOBD->width;
//
void obdWriteDataBlock(OBDISP *pOBD, unsigned char *ucBuf, int iLen, int bRender)
{
unsigned char ucTemp[196];
int iPitch, iBufferSize;

iPitch = pOBD->width;
Expand Down Expand Up @@ -1210,7 +1209,7 @@ int obdLoadBMP(OBDISP *pOBD, uint8_t *pBMP, int dx, int dy, int bInvert)
int16_t i16, cx, cy;
int iOffBits; // offset to bitmap data
int iPitch, iDestPitch;
uint8_t x, y, b, *s, *d;
uint8_t x, y, b = 0, *s, *d;
uint8_t dst_mask, src_mask;
uint8_t bFlipped = false;

Expand Down
36 changes: 18 additions & 18 deletions Firmware/src/uart.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,31 @@

void init_uart()
{
gpio_set_func(TXD, AS_GPIO);
gpio_set_output_en(TXD, 1);
gpio_write(TXD, 0);
gpio_set_func(RXD, AS_GPIO);
gpio_set_input_en(RXD, 1);
gpio_set_output_en(RXD, 0);
gpio_set_func(TXD, AS_GPIO);
gpio_set_output_en(TXD, 1);
gpio_write(TXD, 0);
gpio_set_func(RXD, AS_GPIO);
gpio_set_input_en(RXD, 1);
gpio_set_output_en(RXD, 0);

uart_gpio_set(UART_TX_PB1, UART_RX_PA0);
uart_reset();
uart_init(12,15,PARITY_NONE, STOP_BIT_ONE); //baud rate: 115200
uart_init(12, 15, PARITY_NONE, STOP_BIT_ONE); // baud rate: 115200
uart_dma_enable(0, 0);
dma_chn_irq_enable(0, 0);
uart_irq_enable(0,0);
uart_ndma_irq_triglevel(0,0);
uart_irq_enable(0, 0);
uart_ndma_irq_triglevel(0, 0);
}

_attribute_ram_code_ void puts(char* s){
while(*s!='\0')
{
uart_ndma_send_byte(*s);
while(uart_tx_is_busy())
_attribute_ram_code_ void puts(const char* str)
{
while (*str != '\0')
{
uart_ndma_send_byte(*str);
while (uart_tx_is_busy())
{
sleep_us(10);
};
s++;
}
str++;
}
}

0 comments on commit 54ba18c

Please sign in to comment.