tsc ini structure + debug msgs
This commit is contained in:
+36
-1
@@ -3,7 +3,6 @@
|
||||
//
|
||||
|
||||
#include "platform.h"
|
||||
#include "utils/avrlibc.h"
|
||||
#include "hw_utils.h"
|
||||
|
||||
/** Convert pin number to LL bitfield */
|
||||
@@ -131,6 +130,30 @@ error_t hw_configure_gpio_af(char port_name, uint8_t pin_num, uint32_t ll_af)
|
||||
return E_SUCCESS;
|
||||
}
|
||||
|
||||
/** Configure a pin to alternate function */
|
||||
error_t hw_configure_gpiorsc_af(Resource rsc, uint32_t ll_af)
|
||||
{
|
||||
#if PLAT_NO_AFNUM
|
||||
trap("Illegal call to hw_configure_gpio_af() on this platform");
|
||||
#else
|
||||
|
||||
bool suc = true;
|
||||
GPIO_TypeDef *port;
|
||||
uint32_t ll_pin;
|
||||
suc = hw_pinrsc2ll(rsc, &port, &ll_pin);
|
||||
if (!suc) return E_BAD_CONFIG;
|
||||
|
||||
if (ll_pin & 0xFF)
|
||||
LL_GPIO_SetAFPin_0_7(port, ll_pin, ll_af);
|
||||
else
|
||||
LL_GPIO_SetAFPin_8_15(port, ll_pin, ll_af);
|
||||
|
||||
LL_GPIO_SetPinMode(port, ll_pin, LL_GPIO_MODE_ALTERNATE);
|
||||
|
||||
#endif
|
||||
return E_SUCCESS;
|
||||
}
|
||||
|
||||
/** Configure pins using sparse map */
|
||||
error_t hw_configure_sparse_pins(char port_name, uint16_t mask, GPIO_TypeDef **port_dest,
|
||||
uint32_t ll_mode, uint32_t ll_otype)
|
||||
@@ -288,6 +311,12 @@ void hw_periph_clock_enable(void *periph)
|
||||
#ifdef DAC2
|
||||
else if (periph == DAC2) __HAL_RCC_DAC2_CLK_ENABLE();
|
||||
#endif
|
||||
|
||||
// --- TSC ---
|
||||
#ifdef TSC
|
||||
else if (periph == TSC) __HAL_RCC_TSC_CLK_ENABLE();
|
||||
#endif
|
||||
|
||||
else {
|
||||
dbg("Periph 0x%p missing in hw clock enable func", periph);
|
||||
trap("BUG");
|
||||
@@ -393,6 +422,12 @@ void hw_periph_clock_disable(void *periph)
|
||||
#ifdef DAC2
|
||||
else if (periph == DAC2) __HAL_RCC_DAC2_CLK_DISABLE();
|
||||
#endif
|
||||
|
||||
// --- TSC ---
|
||||
#ifdef TSC
|
||||
else if (periph == TSC) __HAL_RCC_TSC_CLK_DISABLE();
|
||||
#endif
|
||||
|
||||
else {
|
||||
dbg("Periph 0x%p missing in hw clock disable func", periph);
|
||||
trap("BUG");
|
||||
|
||||
@@ -88,6 +88,9 @@ void hw_deinit_unit_pins(Unit *unit);
|
||||
*/
|
||||
error_t hw_configure_gpio_af(char port_name, uint8_t pin_num, uint32_t ll_af) __attribute__((warn_unused_result));
|
||||
|
||||
/** Configure a pin to alternate function via rsc */
|
||||
error_t hw_configure_gpiorsc_af(Resource rsc, uint32_t ll_af) __attribute__((warn_unused_result));
|
||||
|
||||
/**
|
||||
* Configure multiple pins using the bitmap pattern
|
||||
*
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#endif
|
||||
|
||||
// 180 is normally enough if not doing extensive debug logging
|
||||
#define TSK_STACK_MSG 200 // TF message handler task stack size (all unit commands run on this thread)
|
||||
#define TSK_STACK_MSG 220 // TF message handler task stack size (all unit commands run on this thread)
|
||||
#define TSK_STACK_IDLE 64 //configMINIMAL_STACK_SIZE
|
||||
#define TSK_STACK_TIMERS 64 //configTIMER_TASK_STACK_DEPTH
|
||||
|
||||
|
||||
+5
-3
@@ -2,7 +2,6 @@
|
||||
// Created by MightyPork on 2017/11/26.
|
||||
//
|
||||
|
||||
#include <units/fcap/unit_fcap.h>
|
||||
#include "platform.h"
|
||||
#include "usbd_core.h"
|
||||
#include "USB/usb_device.h"
|
||||
@@ -19,6 +18,8 @@
|
||||
#include "units/usart/unit_usart.h"
|
||||
#include "units/spi/unit_spi.h"
|
||||
#include "units/sipo/unit_sipo.h"
|
||||
#include "units/fcap/unit_fcap.h"
|
||||
#include "units/touch/unit_touch.h"
|
||||
#include "hw_utils.h"
|
||||
|
||||
void plat_init_resources(void)
|
||||
@@ -90,6 +91,7 @@ void plat_init_resources(void)
|
||||
ureg_add_type(&UNIT_ADC);
|
||||
ureg_add_type(&UNIT_SIPO);
|
||||
ureg_add_type(&UNIT_FCAP);
|
||||
ureg_add_type(&UNIT_TOUCH);
|
||||
|
||||
// Free all present resources
|
||||
{
|
||||
@@ -98,7 +100,7 @@ void plat_init_resources(void)
|
||||
// rsc_free_range(NULL, R_COMP1, R_COMP2);
|
||||
rsc_free(NULL, R_DAC1);
|
||||
// rsc_free(NULL, R_HDMI_CEC);
|
||||
// rsc_free(NULL, R_TSC);
|
||||
rsc_free(NULL, R_TSC);
|
||||
rsc_free_range(NULL, R_I2C1, R_I2C2);
|
||||
// rsc_free_range(NULL, R_I2S1, R_I2S2);
|
||||
rsc_free_range(NULL, R_SPI1, R_SPI2);
|
||||
@@ -154,7 +156,7 @@ void plat_init_resources(void)
|
||||
rsc_free_range(NULL, R_TIM1, R_TIM4);
|
||||
rsc_free_range(NULL, R_TIM6, R_TIM8);
|
||||
rsc_free_range(NULL, R_TIM15, R_TIM17);
|
||||
// rsc_free(NULL, R_TSC);
|
||||
rsc_free(NULL, R_TSC);
|
||||
rsc_free_range(NULL, R_USART1, R_USART5);
|
||||
|
||||
rsc_free_range(NULL, R_PA0, R_PA15);
|
||||
|
||||
Reference in New Issue
Block a user