parent
2eb76bb058
commit
6994a3858d
@ -352,7 +352,7 @@ static inline void sm_config_set_out_special(pio_sm_config *c, bool sticky, bool
|
|||||||
static inline void sm_config_set_mov_status(pio_sm_config *c, enum pio_mov_status_type status_sel, uint status_n) {
|
static inline void sm_config_set_mov_status(pio_sm_config *c, enum pio_mov_status_type status_sel, uint status_n) {
|
||||||
valid_params_if(PIO, status_sel == STATUS_TX_LESSTHAN || status_sel == STATUS_RX_LESSTHAN);
|
valid_params_if(PIO, status_sel == STATUS_TX_LESSTHAN || status_sel == STATUS_RX_LESSTHAN);
|
||||||
c->execctrl = (c->execctrl
|
c->execctrl = (c->execctrl
|
||||||
& ~(PIO_SM0_EXECCTRL_STATUS_SEL_BITS | PIO_SM0_EXECCTRL_STATUS_N_BITS))
|
& ~(PIO_SM0_EXECCTRL_STATUS_SEL_BITS | PIO_SM0_EXECCTRL_STATUS_N_BITS))
|
||||||
| ((((uint)status_sel) << PIO_SM0_EXECCTRL_STATUS_SEL_LSB) & PIO_SM0_EXECCTRL_STATUS_SEL_BITS)
|
| ((((uint)status_sel) << PIO_SM0_EXECCTRL_STATUS_SEL_LSB) & PIO_SM0_EXECCTRL_STATUS_SEL_BITS)
|
||||||
| ((status_n << PIO_SM0_EXECCTRL_STATUS_N_LSB) & PIO_SM0_EXECCTRL_STATUS_N_BITS);
|
| ((status_n << PIO_SM0_EXECCTRL_STATUS_N_LSB) & PIO_SM0_EXECCTRL_STATUS_N_BITS);
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PICO_CONFIG: PARAM_ASSERTIONS_ENABLED_PWM, Enable/disable assertions in the PWM module, type=bool, default=0, group=hadrware_pwm
|
// PICO_CONFIG: PARAM_ASSERTIONS_ENABLED_PWM, Enable/disable assertions in the PWM module, type=bool, default=0, group=hardware_pwm
|
||||||
#ifndef PARAM_ASSERTIONS_ENABLED_PWM
|
#ifndef PARAM_ASSERTIONS_ENABLED_PWM
|
||||||
#define PARAM_ASSERTIONS_ENABLED_PWM 0
|
#define PARAM_ASSERTIONS_ENABLED_PWM 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -74,7 +74,7 @@ uint uart_set_baudrate(uart_inst_t *uart, uint baudrate) {
|
|||||||
invalid_params_if(UART, baudrate == 0);
|
invalid_params_if(UART, baudrate == 0);
|
||||||
uint32_t baud_rate_div = (8 * clock_get_hz(clk_peri) / baudrate);
|
uint32_t baud_rate_div = (8 * clock_get_hz(clk_peri) / baudrate);
|
||||||
uint32_t baud_ibrd = baud_rate_div >> 7;
|
uint32_t baud_ibrd = baud_rate_div >> 7;
|
||||||
uint32_t baud_fbrd = ((baud_rate_div & 0x7f) + 1) / 2;
|
uint32_t baud_fbrd;
|
||||||
|
|
||||||
if (baud_ibrd == 0) {
|
if (baud_ibrd == 0) {
|
||||||
baud_ibrd = 1;
|
baud_ibrd = 1;
|
||||||
@ -82,6 +82,8 @@ uint uart_set_baudrate(uart_inst_t *uart, uint baudrate) {
|
|||||||
} else if (baud_ibrd >= 65535) {
|
} else if (baud_ibrd >= 65535) {
|
||||||
baud_ibrd = 65535;
|
baud_ibrd = 65535;
|
||||||
baud_fbrd = 0;
|
baud_fbrd = 0;
|
||||||
|
} else {
|
||||||
|
baud_fbrd = ((baud_rate_div & 0x7f) + 1) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load PL011's baud divisor registers
|
// Load PL011's baud divisor registers
|
||||||
|
@ -24,7 +24,7 @@ extern "C" {
|
|||||||
* \include multicore.c
|
* \include multicore.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// PICO_CONFIG: PICO_CORE1_STACK_SIZE, Stack size for core 1, min=0x100, max=0x10000, default=PICO_STACK_SIZE/0x800, group=pico_multicore
|
// PICO_CONFIG: PICO_CORE1_STACK_SIZE, Stack size for core 1, min=0x100, max=0x10000, default=PICO_STACK_SIZE (0x800), group=pico_multicore
|
||||||
#ifndef PICO_CORE1_STACK_SIZE
|
#ifndef PICO_CORE1_STACK_SIZE
|
||||||
#ifdef PICO_STACK_SIZE
|
#ifdef PICO_STACK_SIZE
|
||||||
#define PICO_CORE1_STACK_SIZE PICO_STACK_SIZE
|
#define PICO_CORE1_STACK_SIZE PICO_STACK_SIZE
|
||||||
|
@ -127,7 +127,7 @@ void multicore_launch_core1(void (*entry)(void)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void multicore_launch_core1_raw(void (*entry)(void), uint32_t *sp, uint32_t vector_table) {
|
void multicore_launch_core1_raw(void (*entry)(void), uint32_t *sp, uint32_t vector_table) {
|
||||||
uint32_t cmd_sequence[] = {0, 0, 1, (uintptr_t) vector_table, (uintptr_t) sp, (uintptr_t) entry};
|
const uint32_t cmd_sequence[] = {0, 0, 1, (uintptr_t) vector_table, (uintptr_t) sp, (uintptr_t) entry};
|
||||||
|
|
||||||
bool enabled = irq_is_enabled(SIO_IRQ_PROC0);
|
bool enabled = irq_is_enabled(SIO_IRQ_PROC0);
|
||||||
irq_set_enabled(SIO_IRQ_PROC0, false);
|
irq_set_enabled(SIO_IRQ_PROC0, false);
|
||||||
|
@ -51,13 +51,13 @@
|
|||||||
#define PICO_PRINTF_FTOA_BUFFER_SIZE 32U
|
#define PICO_PRINTF_FTOA_BUFFER_SIZE 32U
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PICO_CONFIG: PICO_PRINTF_SUPPORT_FLOAT, Enable floating point printing, default=1, group=pico_printf
|
// PICO_CONFIG: PICO_PRINTF_SUPPORT_FLOAT, Enable floating point printing, type=bool, default=1, group=pico_printf
|
||||||
// support for the floating point type (%f)
|
// support for the floating point type (%f)
|
||||||
#ifndef PICO_PRINTF_SUPPORT_FLOAT
|
#ifndef PICO_PRINTF_SUPPORT_FLOAT
|
||||||
#define PICO_PRINTF_SUPPORT_FLOAT 1
|
#define PICO_PRINTF_SUPPORT_FLOAT 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PICO_CONFIG: PICO_PRINTF_SUPPORT_EXPONENTIAL, Enable exponential floating point printing, default=1, group=pico_printf
|
// PICO_CONFIG: PICO_PRINTF_SUPPORT_EXPONENTIAL, Enable exponential floating point printing, type=bool, default=1, group=pico_printf
|
||||||
// support for exponential floating point notation (%e/%g)
|
// support for exponential floating point notation (%e/%g)
|
||||||
#ifndef PICO_PRINTF_SUPPORT_EXPONENTIAL
|
#ifndef PICO_PRINTF_SUPPORT_EXPONENTIAL
|
||||||
#define PICO_PRINTF_SUPPORT_EXPONENTIAL 1
|
#define PICO_PRINTF_SUPPORT_EXPONENTIAL 1
|
||||||
@ -73,12 +73,12 @@
|
|||||||
#define PICO_PRINTF_MAX_FLOAT 1e9
|
#define PICO_PRINTF_MAX_FLOAT 1e9
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PICO_CONFIG: PICO_PRINTF_SUPPORT_LONG_LONG, Enable support for long long types (%llu or %p), default=1, group=pico_printf
|
// PICO_CONFIG: PICO_PRINTF_SUPPORT_LONG_LONG, Enable support for long long types (%llu or %p), type=bool, default=1, group=pico_printf
|
||||||
#ifndef PICO_PRINTF_SUPPORT_LONG_LONG
|
#ifndef PICO_PRINTF_SUPPORT_LONG_LONG
|
||||||
#define PICO_PRINTF_SUPPORT_LONG_LONG 1
|
#define PICO_PRINTF_SUPPORT_LONG_LONG 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PICO_CONFIG: PICO_PRINTF_SUPPORT_PTRDIFF_T, Enable support for the ptrdiff_t type (%t), default=1, group=pico_printf
|
// PICO_CONFIG: PICO_PRINTF_SUPPORT_PTRDIFF_T, Enable support for the ptrdiff_t type (%t), type=bool, default=1, group=pico_printf
|
||||||
// ptrdiff_t is normally defined in <stddef.h> as long or long long type
|
// ptrdiff_t is normally defined in <stddef.h> as long or long long type
|
||||||
#ifndef PICO_PRINTF_SUPPORT_PTRDIFF_T
|
#ifndef PICO_PRINTF_SUPPORT_PTRDIFF_T
|
||||||
#define PICO_PRINTF_SUPPORT_PTRDIFF_T 1
|
#define PICO_PRINTF_SUPPORT_PTRDIFF_T 1
|
||||||
|
@ -90,8 +90,8 @@ static void stdio_out_chars_crlf(stdio_driver_t *driver, const char *s, int len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool stdio_put_string(const char *s, int len, bool newline) {
|
static bool stdio_put_string(const char *s, int len, bool newline) {
|
||||||
bool serialzed = stdout_serialize_begin();
|
bool serialized = stdout_serialize_begin();
|
||||||
if (!serialzed) {
|
if (!serialized) {
|
||||||
#if PICO_STDIO_IGNORE_NESTED_STDOUT
|
#if PICO_STDIO_IGNORE_NESTED_STDOUT
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
@ -106,7 +106,7 @@ static bool stdio_put_string(const char *s, int len, bool newline) {
|
|||||||
stdio_out_chars_crlf(driver, &c, 1);
|
stdio_out_chars_crlf(driver, &c, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (serialzed) {
|
if (serialized) {
|
||||||
stdout_serialize_end();
|
stdout_serialize_end();
|
||||||
}
|
}
|
||||||
return len;
|
return len;
|
||||||
|
Loading…
Reference in New Issue
Block a user