Core code cleanup (#206)

* add delay function
* todo about delay_isr
* remove arduino defines and fix all apps to use core-api/hal-api
* delay for local target
* remove warnings of task_equal
* fix BSP_SD_Init
* fix USBD_static
* grio read constant pointer to gpio
* add TODO about ISR context
* const void* arg for pubsub api
* mark unused functions
* app pointers now pointed to constant apps
* fix printf format
* fix "unused" warnings in local target
* fix const pin read in local target
* fix int to pointer warnings in local target
* power read mutex error fix
* delete old makefile
* add -werror

Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
Co-authored-by: aanper <mail@s3f.ru>
This commit is contained in:
DrZlo13
2020-10-29 10:58:19 +03:00
committed by GitHub
parent f9b6440f7f
commit 979af6c165
40 changed files with 175 additions and 424 deletions

View File

@@ -1,7 +1,11 @@
#include "api-hal-delay.h"
#include <stdio.h>
#include <unistd.h>
void delay_us(uint32_t time) {
// How to deal with it
printf("[DELAY] %d us\n", time);
void delay_us(float microseconds) {
usleep(microseconds);
}
void delay(float milliseconds) {
usleep(milliseconds * 1000);
}

View File

@@ -1,4 +1,6 @@
#pragma once
#include "main.h"
void delay_us(uint32_t time);
void delay_us(float microseconds);
void delay(float milliseconds);

View File

@@ -41,7 +41,7 @@ void hal_gpio_write(GpioPin* gpio, bool state){
}
// read value from GPIO, false = LOW, true = HIGH
bool hal_gpio_read(GpioPin* gpio){
bool hal_gpio_read(const GpioPin* gpio){
// TODO emulate pin state?
return false;
}

View File

@@ -46,4 +46,4 @@ void hal_gpio_init(GpioPin* gpio, GpioMode mode, GpioPull pull, GpioSpeed speed)
void hal_gpio_write(GpioPin* gpio, bool state);
// read value from GPIO, false = LOW, true = HIGH
bool hal_gpio_read(GpioPin* gpio);
bool hal_gpio_read(const GpioPin* gpio);

View File

@@ -1,5 +1,14 @@
#include "api-hal-task.h"
bool task_equal(TaskHandle_t a, TaskHandle_t b) {
if(a == NULL || b == NULL) return false;
return pthread_equal(*a, *b) != 0;
}
bool task_is_isr_context(void) {
return false;
}
}
void taskDISABLE_INTERRUPTS(void){
// we cant disable main os sheduler
};

View File

@@ -1,5 +1,8 @@
#pragma once
#include "main.h"
#include <cmsis_os.h>
#include <stdbool.h>
bool task_is_isr_context(void);
bool task_equal(TaskHandle_t a, TaskHandle_t b);
bool task_is_isr_context(void);
__attribute__((unused)) void taskDISABLE_INTERRUPTS(void);