diff --git a/README.md b/README.md index 8788da8..d8bd84f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 简介 -**mr-library** 是一个专为嵌入式系统设计的轻量级框架,模块化的软件架构充分考虑了嵌入式系统的资源和性能要求。 +**mr-library** 是一个专为嵌入式系统设计的轻量级框架,模块化的软件架构充分考虑了嵌入式系统的资源和性能要求。 通过提供标准化的设备管理等,极大地简化了嵌入式应用的开发难度,帮助开发者快速构建嵌入式应用程序。 **设备框架** 为开发者提供标准化的接口(open、close、ioctl、read、write),解耦应用程序与底层硬件驱动,使应用开发无需硬件驱动的实现细节。 diff --git a/bsp/wch/driver/drv_adc.c b/bsp/wch/driver/drv_adc.c index 9b50412..4f406b7 100644 --- a/bsp/wch/driver/drv_adc.c +++ b/bsp/wch/driver/drv_adc.c @@ -147,4 +147,4 @@ mr_err_t drv_adc_init(void) } MR_INIT_DRIVER_EXPORT(drv_adc_init); -#endif \ No newline at end of file +#endif diff --git a/bsp/wch/driver/drv_adc.h b/bsp/wch/driver/drv_adc.h index 7016960..4df4963 100644 --- a/bsp/wch/driver/drv_adc.h +++ b/bsp/wch/driver/drv_adc.h @@ -29,4 +29,4 @@ struct drv_adc_data #endif -#endif /* _DRV_ADC_H_ */ \ No newline at end of file +#endif /* _DRV_ADC_H_ */ diff --git a/bsp/wch/driver/drv_dac.h b/bsp/wch/driver/drv_dac.h index b8ee6b1..dc05ca6 100644 --- a/bsp/wch/driver/drv_dac.h +++ b/bsp/wch/driver/drv_dac.h @@ -29,4 +29,4 @@ struct drv_dac_data #endif -#endif /* _DRV_DAC_H_ */ \ No newline at end of file +#endif /* _DRV_DAC_H_ */ diff --git a/bsp/wch/driver/drv_gpio.h b/bsp/wch/driver/drv_gpio.h index f7d43f7..ae785a8 100644 --- a/bsp/wch/driver/drv_gpio.h +++ b/bsp/wch/driver/drv_gpio.h @@ -14,4 +14,4 @@ #include "device/pin.h" #include "mrboard.h" -#endif /* _DRV_GPIO_H_ */ \ No newline at end of file +#endif /* _DRV_GPIO_H_ */ diff --git a/bsp/wch/driver/drv_i2c.h b/bsp/wch/driver/drv_i2c.h index bd2e214..fdf95a3 100644 --- a/bsp/wch/driver/drv_i2c.h +++ b/bsp/wch/driver/drv_i2c.h @@ -31,4 +31,4 @@ struct drv_soft_i2c_bus_data #endif -#endif /* _DRV_I2C_H_ */ \ No newline at end of file +#endif /* _DRV_I2C_H_ */ diff --git a/bsp/wch/driver/drv_pwm.c b/bsp/wch/driver/drv_pwm.c index 9f7cca0..e6f6b46 100644 --- a/bsp/wch/driver/drv_pwm.c +++ b/bsp/wch/driver/drv_pwm.c @@ -41,38 +41,41 @@ enum }; static struct ch32_pwm_data ch32_pwm_data[] = - { + { #ifdef MR_BSP_PWM_1 - {"pwm1",TIM1,RCC_APB2Periph_TIM1,RCC_APB2Periph_GPIOA,GPIOA,GPIO_Pin_8,GPIO_Pin_9,GPIO_Pin_10,GPIO_Pin_11}, + {"pwm1", TIM1, RCC_APB2Periph_TIM1, RCC_APB2Periph_GPIOA, GPIOA, GPIO_Pin_8, GPIO_Pin_9, GPIO_Pin_10, + GPIO_Pin_11}, #endif #ifdef MR_BSP_PWM_2 - {"pwm2",TIM2,RCC_APB1Periph_TIM2,RCC_APB2Periph_GPIOA,GPIOA,GPIO_Pin_0,GPIO_Pin_1,GPIO_Pin_2,GPIO_Pin_3}, + {"pwm2", TIM2, RCC_APB1Periph_TIM2, RCC_APB2Periph_GPIOA, GPIOA, GPIO_Pin_0, GPIO_Pin_1, GPIO_Pin_2, + GPIO_Pin_3}, #endif #ifdef MR_BSP_PWM_3 - {"pwm3",TIM3,RCC_APB1Periph_TIM3,RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB,GPIOA,GPIO_Pin_6,GPIO_Pin_7,}, + {"pwm3", TIM3, RCC_APB1Periph_TIM3, RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, GPIOA, GPIO_Pin_6, + GPIO_Pin_7,}, #endif #ifdef MR_BSP_PWM_4 - {"pwm4",TIM4,RCC_APB1Periph_TIM4,RCC_APB2Periph_GPIOD}, + {"pwm4", TIM4, RCC_APB1Periph_TIM4, RCC_APB2Periph_GPIOD}, #endif #ifdef MR_BSP_PWM_5 - {"pwm5",TIM5,RCC_APB1Periph_TIM5}, + {"pwm5", TIM5, RCC_APB1Periph_TIM5}, #endif #ifdef MR_BSP_PWM_6 - {"pwm6",TIM6,RCC_APB1Periph_TIM6}, + {"pwm6", TIM6, RCC_APB1Periph_TIM6}, #endif #ifdef MR_BSP_PWM_7 - {"pwm7",TIM7,RCC_APB1Periph_TIM7}, + {"pwm7", TIM7, RCC_APB1Periph_TIM7}, #endif #ifdef MR_BSP_PWM_8 - {"pwm8",TIM8,RCC_APB2Periph_TIM8}, + {"pwm8", TIM8, RCC_APB2Periph_TIM8}, #endif #ifdef MR_BSP_PWM_9 - {"pwm9",TIM9,RCC_APB2Periph_TIM9}, + {"pwm9", TIM9, RCC_APB2Periph_TIM9}, #endif #ifdef MR_BSP_PWM_10 - {"pwm10",TIM10,RCC_APB2Periph_TIM10}, + {"pwm10", TIM10, RCC_APB2Periph_TIM10}, #endif - }; + }; static struct mr_pwm pwm_device[mr_array_num(ch32_pwm_data)]; @@ -94,11 +97,11 @@ static mr_uint32_t ch32_pwm_read(mr_pwm_t pwm, mr_off_t channel) mr_err_t drv_pwm_init(void) { static struct mr_pwm_ops drv_ops = - { - ch32_pwm_configure, - ch32_pwm_write, - ch32_pwm_read, - }; + { + ch32_pwm_configure, + ch32_pwm_write, + ch32_pwm_read, + }; mr_size_t count = mr_array_num(pwm_device); mr_err_t ret = MR_ERR_OK; @@ -106,8 +109,8 @@ mr_err_t drv_pwm_init(void) { ret = mr_pwm_device_add(&pwm_device[count], ch32_pwm_data[count].name, - &drv_ops,&ch32_pwm_data[count] - ); + &drv_ops, &ch32_pwm_data[count] + ); MR_ASSERT(ret == MR_ERR_OK); } @@ -115,4 +118,4 @@ mr_err_t drv_pwm_init(void) } MR_INIT_DRIVER_EXPORT(drv_pwm_init); -#endif \ No newline at end of file +#endif diff --git a/bsp/wch/driver/drv_spi.c b/bsp/wch/driver/drv_spi.c index a467f35..f895e46 100644 --- a/bsp/wch/driver/drv_spi.c +++ b/bsp/wch/driver/drv_spi.c @@ -368,4 +368,4 @@ mr_err_t drv_spi_bus_init(void) } MR_INIT_DRIVER_EXPORT(drv_spi_bus_init); -#endif \ No newline at end of file +#endif diff --git a/bsp/wch/driver/drv_spi.h b/bsp/wch/driver/drv_spi.h index 7592925..33bc346 100644 --- a/bsp/wch/driver/drv_spi.h +++ b/bsp/wch/driver/drv_spi.h @@ -35,4 +35,4 @@ struct drv_spi_bus_data #endif -#endif /* _DRV_SPI_H_ */ \ No newline at end of file +#endif /* _DRV_SPI_H_ */ diff --git a/bsp/wch/driver/drv_timer.c b/bsp/wch/driver/drv_timer.c index a245172..8ab85ea 100644 --- a/bsp/wch/driver/drv_timer.c +++ b/bsp/wch/driver/drv_timer.c @@ -313,4 +313,4 @@ mr_err_t drv_timer_init(void) } MR_INIT_DRIVER_EXPORT(drv_timer_init); -#endif \ No newline at end of file +#endif diff --git a/bsp/wch/driver/drv_timer.h b/bsp/wch/driver/drv_timer.h index aa2b1a3..9064221 100644 --- a/bsp/wch/driver/drv_timer.h +++ b/bsp/wch/driver/drv_timer.h @@ -30,4 +30,4 @@ struct drv_timer_data #endif -#endif /* _DRV_TIMER_H_ */ \ No newline at end of file +#endif /* _DRV_TIMER_H_ */ diff --git a/bsp/wch/driver/drv_uart.c b/bsp/wch/driver/drv_uart.c index 5c1263a..6870e28 100644 --- a/bsp/wch/driver/drv_uart.c +++ b/bsp/wch/driver/drv_uart.c @@ -240,7 +240,6 @@ static mr_uint8_t drv_serial_read(mr_serial_t serial) return 0; } } - return uart_data->instance->DATAR & 0xff; } @@ -362,4 +361,4 @@ mr_err_t drv_uart_init(void) } MR_INIT_DRIVER_EXPORT(drv_uart_init); -#endif \ No newline at end of file +#endif diff --git a/bsp/wch/driver/drv_uart.h b/bsp/wch/driver/drv_uart.h index 814410c..13e5f49 100644 --- a/bsp/wch/driver/drv_uart.h +++ b/bsp/wch/driver/drv_uart.h @@ -35,4 +35,4 @@ struct drv_uart_data #endif -#endif /* _DRV_UART_H_ */ \ No newline at end of file +#endif /* _DRV_UART_H_ */ diff --git a/bsp/wch/driver/mrboard.c b/bsp/wch/driver/mrboard.c index f09472f..412e70f 100644 --- a/bsp/wch/driver/mrboard.c +++ b/bsp/wch/driver/mrboard.c @@ -18,4 +18,4 @@ void mr_delay_us(mr_size_t us) void mr_delay_ms(mr_size_t ms) { Delay_Ms(ms); -} \ No newline at end of file +} diff --git a/bsp/wch/driver/mrdrv.h b/bsp/wch/driver/mrdrv.h index a5a6917..77c8dd4 100644 --- a/bsp/wch/driver/mrdrv.h +++ b/bsp/wch/driver/mrdrv.h @@ -45,4 +45,4 @@ #include "drv_timer.h" #endif -#endif /* _MR_DRV_H_ */ \ No newline at end of file +#endif /* _MR_DRV_H_ */ diff --git a/device/adc.c b/device/adc.c index d29c25f..b775d50 100644 --- a/device/adc.c +++ b/device/adc.c @@ -140,4 +140,4 @@ mr_err_t mr_adc_device_add(mr_adc_t adc, const char *name, struct mr_adc_ops *op return mr_device_add(&adc->device, name, Mr_Device_Type_ADC, MR_DEVICE_OFLAG_RDONLY, &device_ops, data); } -#endif \ No newline at end of file +#endif diff --git a/device/adc.h b/device/adc.h index 8e1e051..4272a7d 100644 --- a/device/adc.h +++ b/device/adc.h @@ -65,4 +65,4 @@ mr_err_t mr_adc_device_add(mr_adc_t adc, const char *name, struct mr_adc_ops *op } #endif -#endif /* _ADC_H_ */ \ No newline at end of file +#endif /* _ADC_H_ */ diff --git a/device/dac.c b/device/dac.c index a7a032b..79d4b10 100644 --- a/device/dac.c +++ b/device/dac.c @@ -140,4 +140,4 @@ mr_err_t mr_dac_device_add(mr_dac_t dac, const char *name, struct mr_dac_ops *op return mr_device_add(&dac->device, name, Mr_Device_Type_DAC, MR_DEVICE_OFLAG_WRONLY, &device_ops, data); } -#endif \ No newline at end of file +#endif diff --git a/device/dac.h b/device/dac.h index 051983e..2213fe0 100644 --- a/device/dac.h +++ b/device/dac.h @@ -65,4 +65,4 @@ mr_err_t mr_dac_device_add(mr_dac_t dac, const char *name, struct mr_dac_ops *op } #endif -#endif /* _DAC_H_ */ \ No newline at end of file +#endif /* _DAC_H_ */ diff --git a/device/i2c.c b/device/i2c.c index 8681a7b..7e89a4a 100644 --- a/device/i2c.c +++ b/device/i2c.c @@ -644,4 +644,4 @@ mr_err_t mr_soft_i2c_bus_add(mr_soft_i2c_bus_t i2c_bus, const char *name, struct return mr_i2c_bus_add(&i2c_bus->i2c_bus, name, &i2c_bus_ops, data); } -#endif \ No newline at end of file +#endif diff --git a/device/i2c.h b/device/i2c.h index 1492756..e32a993 100644 --- a/device/i2c.h +++ b/device/i2c.h @@ -163,4 +163,4 @@ mr_err_t mr_soft_i2c_bus_add(mr_soft_i2c_bus_t i2c_bus, const char *name, struct } #endif -#endif /* _I2C_H_ */ \ No newline at end of file +#endif /* _I2C_H_ */ diff --git a/device/pin.c b/device/pin.c index 00687f7..e679928 100644 --- a/device/pin.c +++ b/device/pin.c @@ -146,4 +146,4 @@ void mr_pin_device_isr(mr_pin_t pin, mr_off_t number) } } -#endif \ No newline at end of file +#endif diff --git a/device/pin.h b/device/pin.h index 3540418..9694950 100644 --- a/device/pin.h +++ b/device/pin.h @@ -84,4 +84,4 @@ void mr_pin_device_isr(mr_pin_t pin, mr_off_t number); } #endif -#endif /* _PIN_H_ */ \ No newline at end of file +#endif /* _PIN_H_ */ diff --git a/device/pwm.c b/device/pwm.c index 834ba0a..47594a4 100644 --- a/device/pwm.c +++ b/device/pwm.c @@ -159,4 +159,4 @@ mr_err_t mr_pwm_device_add(mr_pwm_t pwm, const char *name, struct mr_pwm_ops *op return mr_device_add(&pwm->device, name, Mr_Device_Type_PWM, MR_DEVICE_OFLAG_RDWR, &device_ops, data); } -#endif \ No newline at end of file +#endif diff --git a/device/serial.c b/device/serial.c index 09449b4..6333daf 100644 --- a/device/serial.c +++ b/device/serial.c @@ -283,4 +283,4 @@ void mr_serial_device_isr(mr_serial_t serial, mr_uint32_t event) } } -#endif \ No newline at end of file +#endif diff --git a/device/serial.h b/device/serial.h index 65d684f..32e556b 100644 --- a/device/serial.h +++ b/device/serial.h @@ -134,4 +134,4 @@ void mr_serial_device_isr(mr_serial_t serial, mr_uint32_t event); } #endif -#endif /* _SERIAL_H_ */ \ No newline at end of file +#endif /* _SERIAL_H_ */ diff --git a/device/spi.c b/device/spi.c index a9a2fe0..feab307 100644 --- a/device/spi.c +++ b/device/spi.c @@ -703,4 +703,4 @@ void mr_spi_bus_isr(mr_spi_bus_t spi_bus, mr_uint32_t event) } } -#endif \ No newline at end of file +#endif diff --git a/device/spi.h b/device/spi.h index 43bbaa6..467841a 100644 --- a/device/spi.h +++ b/device/spi.h @@ -176,4 +176,4 @@ void mr_spi_bus_isr(mr_spi_bus_t spi_bus, mr_uint32_t event); } #endif -#endif /* _SPI_H_ */ \ No newline at end of file +#endif /* _SPI_H_ */ diff --git a/device/timer.c b/device/timer.c index 99d5b8c..6bdc580 100644 --- a/device/timer.c +++ b/device/timer.c @@ -313,4 +313,4 @@ void mr_timer_device_isr(mr_timer_t timer, mr_uint32_t event) } } -#endif \ No newline at end of file +#endif diff --git a/document/developer/coding_style.md b/document/developer/coding_style.md index bb644ca..281d25c 100644 --- a/document/developer/coding_style.md +++ b/document/developer/coding_style.md @@ -164,7 +164,7 @@ ... } ``` - + 3. 结构体,宏等定义需添加注释: ```c diff --git a/document/user/device/dac.md b/document/user/device/dac.md index 31cbddb..cfd8ce4 100644 --- a/document/user/device/dac.md +++ b/document/user/device/dac.md @@ -31,7 +31,7 @@ mr_device_t mr_device_find(const char *name); |:--------|:-------| | name | DAC设备名 | | **返回** | | -| DAC | 查找设备成功 | +| DAC | 查找设备成功 | | MR_NULL | 查找设备失败 | ---------- @@ -42,13 +42,13 @@ mr_device_t mr_device_find(const char *name); mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags); ``` -| 参数 | 描述 | -|:------------|:-------| -| device | DAC设备 | -| oflags | 打开方式 | -| **返回** | | -| MR_ERR_OK | 打开设备成功 | -| 错误码 | 打开设备失败 | +| 参数 | 描述 | +|:----------|:-------| +| device | DAC设备 | +| oflags | 打开方式 | +| **返回** | | +| MR_ERR_OK | 打开设备成功 | +| 错误码 | 打开设备失败 | DAC设备支持以下打开方式: @@ -64,14 +64,14 @@ MR_DEVICE_OFLAG_WRONLY /* 只写 */ mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | DAC设备 | -| cmd | 控制命令 | -| args | 控制参数 | -| **返回** | | -| MR_ERR_OK | 控制设备成功 | -| 错误码 | 控制设备失败 | +| 参数 | 描述 | +|:----------|:-------| +| device | DAC设备 | +| cmd | 控制命令 | +| args | 控制参数 | +| **返回** | | +| MR_ERR_OK | 控制设备成功 | +| 错误码 | 控制设备失败 | DAC设备支持以下命令: @@ -124,14 +124,14 @@ mr_device_ioctl(dac_device, MR_DEVICE_CTRL_SET_CONFIG, &dac_config); mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | DAC设备 | -| pos | 写入位置 | -| buffer | 写入数据 | -| size | 写入数据大小 | -| **返回** | | -| 实际写入的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | DAC设备 | +| pos | 写入位置 | +| buffer | 写入数据 | +| size | 写入数据大小 | +| **返回** | | +| 实际写入的数据大小 | | - 写入位置:需要写入数据的通道,有效范围:0-31。 - 写入数据:DAC设备输出值,类型为:uint32。 diff --git a/document/user/device/i2c.md b/document/user/device/i2c.md index 1656d46..70abb0a 100644 --- a/document/user/device/i2c.md +++ b/document/user/device/i2c.md @@ -22,14 +22,14 @@ I2C(Inter-Integrated Circuit)是一种串行外设接口,用于连接和 mr_err_t mr_i2c_device_add(mr_i2c_device_t i2c_device, const char *name, mr_uint32_t address); ``` -| 参数 | 描述 | -|:-----------|:---------| -| i2c_device | I2C设备 | -| name | I2C设备名 | -| address | I2C设备地址 | -| **返回** | | -| MR_ERR_OK | 添加设备成功 | -| 错误码 | 添加设备失败 | +| 参数 | 描述 | +|:-----------|:--------| +| i2c_device | I2C设备 | +| name | I2C设备名 | +| address | I2C设备地址 | +| **返回** | | +| MR_ERR_OK | 添加设备成功 | +| 错误码 | 添加设备失败 | I2C设备地址为未向左移1位的地址。 @@ -39,14 +39,14 @@ I2C设备地址为未向左移1位的地址。 mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | I2C设备 | -| cmd | 控制命令 | -| args | 控制参数 | -| **返回** | | -| MR_ERR_OK | 控制设备成功 | -| 错误码 | 控制设备失败 | +| 参数 | 描述 | +|:----------|:-------| +| device | I2C设备 | +| cmd | 控制命令 | +| args | 控制参数 | +| **返回** | | +| MR_ERR_OK | 控制设备成功 | +| 错误码 | 控制设备失败 | I2C设备支持以下命令: @@ -133,14 +133,14 @@ mr_device_ioctl(i2c1_device, MR_DEVICE_CTRL_CONNECT, MR_NULL); mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:------------|:-------| -| device | I2C设备 | -| pos | 读取位置 | -| buffer | 读取数据 | -| size | 读取数据大小 | -| **返回** | | -| 实际读取的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | I2C设备 | +| pos | 读取位置 | +| buffer | 读取数据 | +| size | 读取数据大小 | +| **返回** | | +| 实际读取的数据大小 | | - 读取位置:需要读取的(寄存器)地址,如读取0x23地址数据,则pos = 0x23,有效范围:0-2147483647。地址长度根据设置的pos_bits,如不使用时请赋值:-1。 @@ -169,14 +169,14 @@ mr_device_read(i2c_device, 0x23, buffer, sizeof(buffer)); mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:------------|:-------| -| device | I2C设备 | -| pos | 写入位置 | -| buffer | 写入数据 | -| size | 写入数据大小 | -| **返回** | | -| 实际写入的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | I2C设备 | +| pos | 写入位置 | +| buffer | 写入数据 | +| size | 写入数据大小 | +| **返回** | | +| 实际写入的数据大小 | | - 写入位置:需要写入的(寄存器)地址,如写入0x23地址数据,则pos = 0x23,有效范围:0-2147483647。地址长度根据设置的pos_bits,如不使用时请赋值:-1。 diff --git a/document/user/device/pin.md b/document/user/device/pin.md index 13a5c46..de02d53 100644 --- a/document/user/device/pin.md +++ b/document/user/device/pin.md @@ -27,12 +27,12 @@ GPIO(通用目的输入/输出)是一种可以通过软件进行控制的硬 mr_device_t mr_device_find(const char *name); ``` -| 参数 | 描述 | -|:----------|:----------| -| name | PIN设备名 | -| **返回** | | -| PIN | 查找设备成功 | -| MR_NULL | 查找设备失败 | +| 参数 | 描述 | +|:--------|:-------| +| name | PIN设备名 | +| **返回** | | +| PIN | 查找设备成功 | +| MR_NULL | 查找设备失败 | ---------- @@ -42,13 +42,13 @@ mr_device_t mr_device_find(const char *name); mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags); ``` -| 参数 | 描述 | -|:------------|:-------| -| device | PIN设备 | -| oflags | 打开方式 | -| **返回** | | -| MR_ERR_OK | 打开设备成功 | -| 错误码 | 打开设备失败 | +| 参数 | 描述 | +|:----------|:-------| +| device | PIN设备 | +| oflags | 打开方式 | +| **返回** | | +| MR_ERR_OK | 打开设备成功 | +| 错误码 | 打开设备失败 | PIN设备支持以下打开方式: @@ -66,14 +66,14 @@ MR_DEVICE_OFLAG_RDWR /* 可读可 mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | PIN设备 | -| cmd | 控制命令 | -| args | 控制参数 | -| **返回** | | -| MR_ERR_OK | 控制设备成功 | -| 错误码 | 控制设备失败 | +| 参数 | 描述 | +|:----------|:-------| +| device | PIN设备 | +| cmd | 控制命令 | +| args | 控制参数 | +| **返回** | | +| MR_ERR_OK | 控制设备成功 | +| 错误码 | 控制设备失败 | PIN设备支持以下命令: @@ -177,14 +177,14 @@ mr_device_ioctl(pin_device, MR_DEVICE_CTRL_SET_RX_CB, pin_device_cb); mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | PIN设备 | -| pos | 读取位置 | -| buffer | 读取数据 | -| size | 读取数据大小 | -| **返回** | | -| 实际读取的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | PIN设备 | +| pos | 读取位置 | +| buffer | 读取数据 | +| size | 读取数据大小 | +| **返回** | | +| 实际读取的数据大小 | | - 读取位置:需要读取的IO编号,如读取B13,则pos = 29,有效范围:>=0。 - 读取数据:PIN设备IO输入电平,类型为:int8。 @@ -219,14 +219,14 @@ mr_device_read(pin_device, PIN_NUMBER, &pin_level, sizeof(pin_level)); mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | PIN设备 | -| pos | 写入位置 | -| buffer | 写入数据 | -| size | 写入数据大小 | -| **返回** | | -| 实际写入的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | PIN设备 | +| pos | 写入位置 | +| buffer | 写入数据 | +| size | 写入数据大小 | +| **返回** | | +| 实际写入的数据大小 | | - 写入位置:需要写入的IO编号,如读取B13,则pos = 29,有效范围:>=0。 - 写入数据:PIN设备IO输出电平,类型为:int8。 diff --git a/document/user/device/serial.md b/document/user/device/serial.md index 53378e3..953f9b0 100644 --- a/document/user/device/serial.md +++ b/document/user/device/serial.md @@ -27,12 +27,12 @@ UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发传输 mr_device_t mr_device_find(const char *name); ``` -| 参数 | 描述 | -|:---------|:------------| -| name | SERIAL设备名 | -| **返回** | | -| SERIAL | 查找设备成功 | -| MR_NULL | 查找设备失败 | +| 参数 | 描述 | +|:--------|:----------| +| name | SERIAL设备名 | +| **返回** | | +| SERIAL | 查找设备成功 | +| MR_NULL | 查找设备失败 | ---------- @@ -42,13 +42,13 @@ mr_device_t mr_device_find(const char *name); mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags); ``` -| 参数 | 描述 | -|:------------|:-----------| -| device | SERIAL设备 | -| oflags | 打开方式 | -| **返回** | | -| MR_ERR_OK | 打开设备成功 | -| 错误码 | 打开设备失败 | +| 参数 | 描述 | +|:----------|:---------| +| device | SERIAL设备 | +| oflags | 打开方式 | +| **返回** | | +| MR_ERR_OK | 打开设备成功 | +| 错误码 | 打开设备失败 | SERIAL设备支持以下打开方式: @@ -76,14 +76,14 @@ MR_DEVICE_OFLAG_NONBLOCKING /* 非阻塞 mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args); ``` -| 参数 | 描述 | -|:----------|:-----------| -| device | SERIAL设备 | -| cmd | 控制命令 | -| args | 控制参数 | -| **返回** | | -| MR_ERR_OK | 控制设备成功 | -| 错误码 | 控制设备失败 | +| 参数 | 描述 | +|:----------|:---------| +| device | SERIAL设备 | +| cmd | 控制命令 | +| args | 控制参数 | +| **返回** | | +| MR_ERR_OK | 控制设备成功 | +| 错误码 | 控制设备失败 | SERIAL设备支持以下命令: @@ -226,14 +226,14 @@ mr_device_ioctl(serial_device, MR_DEVICE_CTRL_SET_TX_BUFSZ, &bufsz); mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:------------|:-------------| -| device | SERIAL设备 | -| pos | 读取位置 | -| buffer | 读取数据 | -| size | 读取数据大小 | -| **返回** | | -| 实际读取的数据大小 | | +| 参数 | 描述 | +|:----------|:---------| +| device | SERIAL设备 | +| pos | 读取位置 | +| buffer | 读取数据 | +| size | 读取数据大小 | +| **返回** | | +| 实际读取的数据大小 | | 使用示例: @@ -261,14 +261,14 @@ mr_device_read(serial_device, 0, buffer, sizeof(buffer)); mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:----------|:----------| -| device | SERIAL设备 | -| pos | 写入位置 | -| buffer | 写入数据 | -| size | 写入数据大小 | -| **返回** | | -| 实际写入的数据大小 | | +| 参数 | 描述 | +|:----------|:---------| +| device | SERIAL设备 | +| pos | 写入位置 | +| buffer | 写入数据 | +| size | 写入数据大小 | +| **返回** | | +| 实际写入的数据大小 | | 使用示例: diff --git a/document/user/device/spi.md b/document/user/device/spi.md index f9d9eec..44373ed 100644 --- a/document/user/device/spi.md +++ b/document/user/device/spi.md @@ -43,14 +43,14 @@ mr_err_t mr_spi_device_add(mr_spi_device_t spi_device, const char *name, mr_off_ mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args); ``` -| 参数 | 描述 | -|:----------|:--------| -| device | SPI设备 | -| cmd | 控制命令 | -| args | 控制参数 | -| **返回** | | -| MR_ERR_OK | 控制设备成功 | -| 错误码 | 控制设备失败 | +| 参数 | 描述 | +|:----------|:-------| +| device | SPI设备 | +| cmd | 控制命令 | +| args | 控制参数 | +| **返回** | | +| MR_ERR_OK | 控制设备成功 | +| 错误码 | 控制设备失败 | SPI设备支持以下命令: @@ -240,14 +240,14 @@ mr_device_ioctl(spi_device, MR_DEVICE_CTRL_SPI_TRANSFER, &spi_transfer); mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:------------|:-------| -| device | SPI设备 | -| pos | 读取位置 | -| buffer | 读取数据 | -| size | 读取数据大小 | -| **返回** | | -| 实际读取的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | SPI设备 | +| pos | 读取位置 | +| buffer | 读取数据 | +| size | 读取数据大小 | +| **返回** | | +| 实际读取的数据大小 | | - 读取位置:需要读取的(寄存器)地址,如读取0x23地址数据,则pos = 0x23,有效范围:0-2147483647。地址长度根据设置的pos_bits,如不使用时请赋值:-1。 @@ -276,14 +276,14 @@ mr_device_read(spi_device, 0x23, buffer, sizeof(buffer)); mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:------------|:-------| -| device | SPI设备 | -| pos | 写入位置 | -| buffer | 写入数据 | -| size | 写入数据大小 | -| **返回** | | -| 实际写入的数据大小 | | +| 参数 | 描述 | +|:----------|:-------| +| device | SPI设备 | +| pos | 写入位置 | +| buffer | 写入数据 | +| size | 写入数据大小 | +| **返回** | | +| 实际写入的数据大小 | | - 写入位置:需要写入的(寄存器)地址,如写入0x23地址数据,则pos = 0x23,有效范围:0-2147483647。地址长度根据设置的pos_bits,如不使用时请赋值:-1。 diff --git a/document/user/device/timer.md b/document/user/device/timer.md index cf921e9..ab0ed9c 100644 --- a/document/user/device/timer.md +++ b/document/user/device/timer.md @@ -21,12 +21,12 @@ mr_device_t mr_device_find(const char *name); ``` -| 参数 | 描述 | -|:----------|:-------------| -| name | TIMER设备名 | -| **返回** | | -| TIMER | 查找设备成功 | -| MR_NULL | 查找设备失败 | +| 参数 | 描述 | +|:--------|:---------| +| name | TIMER设备名 | +| **返回** | | +| TIMER | 查找设备成功 | +| MR_NULL | 查找设备失败 | ---------- @@ -36,13 +36,13 @@ mr_device_t mr_device_find(const char *name); mr_err_t mr_device_open(mr_device_t device, mr_uint8_t oflags); ``` -| 参数 | 描述 | -|:------------|:-----------| -| device | TIMER设备 | -| oflags | 打开方式 | -| **返回** | | -| MR_ERR_OK | 打开设备成功 | -| 错误码 | 打开设备失败 | +| 参数 | 描述 | +|:----------|:--------| +| device | TIMER设备 | +| oflags | 打开方式 | +| **返回** | | +| MR_ERR_OK | 打开设备成功 | +| 错误码 | 打开设备失败 | TIMER设备支持以下打开方式: @@ -60,15 +60,14 @@ MR_DEVICE_OFLAG_RDWR /* 可读可 mr_err_t mr_device_ioctl(mr_device_t device, int cmd, void *args); ``` -| 参数 | 描述 | -|:----------|:------------| -| device | TIMER设备 | -| cmd | 控制命令 | -| args | 控制参数 | -| **返回** | | -| MR_ERR_OK | 控制设备成功 | -| 错误码 | 控制设备失败 | - +| 参数 | 描述 | +|:----------|:--------| +| device | TIMER设备 | +| cmd | 控制命令 | +| args | 控制参数 | +| **返回** | | +| MR_ERR_OK | 控制设备成功 | +| 错误码 | 控制设备失败 | TIMER设备支持以下命令: @@ -134,14 +133,14 @@ mr_device_ioctl(serial_device, MR_DEVICE_CTRL_SET_RX_CB, timer_device_rx_cb); mr_ssize_t mr_device_read(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:------------|:--------------| -| device | TIMER设备 | -| pos | 读取位置 | -| buffer | 读取数据 | -| size | 读取数据大小 | -| **返回** | | -| 实际读取的数据大小 | | +| 参数 | 描述 | +|:----------|:--------| +| device | TIMER设备 | +| pos | 读取位置 | +| buffer | 读取数据 | +| size | 读取数据大小 | +| **返回** | | +| 实际读取的数据大小 | | - 读取数据:TIMER设备已运行时间(单位us),类型为:uint32。 @@ -169,14 +168,14 @@ mr_device_read(serial_device, 0, &buffer, sizeof(buffer)); mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, mr_size_t size); ``` -| 参数 | 描述 | -|:----------|:-----------| -| device | TIMER设备 | -| pos | 写入位置 | -| buffer | 写入数据 | -| size | 写入数据大小 | -| **返回** | | -| 实际写入的数据大小 | | +| 参数 | 描述 | +|:----------|:--------| +| device | TIMER设备 | +| pos | 写入位置 | +| buffer | 写入数据 | +| size | 写入数据大小 | +| **返回** | | +| 实际写入的数据大小 | | - 写入数据:TIMER设备定时时间(单位us),定时范围1us-4294.967295s,类型为:uint32。写入多个数据时将取最后一个有效数据。 diff --git a/document/user/usage_guide.md b/document/user/usage_guide.md index bb7121e..4a63633 100644 --- a/document/user/usage_guide.md +++ b/document/user/usage_guide.md @@ -8,17 +8,17 @@ 代码包含以下文件: -| 名称 | 描述 | -|:-----------|:--------| -| mr_library | | -| -bsp | 板级支持包 | -| -device | 设备文件 | -| -document | 文档 | -| -driver | 驱动文件 | -| -include | 库头文件 | -| -module | 组件 | -| -package | 软件包 | -| -src | 库源文件 | +| 名称 | 描述 | +|:-----------|:------| +| mr_library | | +| -bsp | 板级支持包 | +| -device | 设备文件 | +| -document | 文档 | +| -driver | 驱动文件 | +| -include | 库头文件 | +| -module | 组件 | +| -package | 软件包 | +| -src | 库源文件 | 选择需要的文件: diff --git a/driver/drv_adc.c b/driver/drv_adc.c index 95cfb66..53ad76e 100644 --- a/driver/drv_adc.c +++ b/driver/drv_adc.c @@ -74,4 +74,4 @@ mr_err_t drv_adc_init(void) } MR_INIT_DRIVER_EXPORT(drv_adc_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_dac.c b/driver/drv_dac.c index 78896c1..b2cde3a 100644 --- a/driver/drv_dac.c +++ b/driver/drv_dac.c @@ -71,4 +71,4 @@ mr_err_t drv_dac_init(void) } MR_INIT_DRIVER_EXPORT(drv_dac_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_gpio.c b/driver/drv_gpio.c index 0c80bd4..d960c61 100644 --- a/driver/drv_gpio.c +++ b/driver/drv_gpio.c @@ -62,4 +62,4 @@ mr_err_t drv_gpio_init(void) } MR_INIT_DRIVER_EXPORT(drv_gpio_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_i2c.c b/driver/drv_i2c.c index e09764f..7ce9284 100644 --- a/driver/drv_i2c.c +++ b/driver/drv_i2c.c @@ -86,4 +86,4 @@ mr_err_t drv_soft_i2c_bus_init(void) } MR_INIT_DRIVER_EXPORT(drv_soft_i2c_bus_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_pwm.c b/driver/drv_pwm.c index 073931c..fb511e8 100644 --- a/driver/drv_pwm.c +++ b/driver/drv_pwm.c @@ -69,7 +69,7 @@ mr_err_t drv_pwm_init(void) { ret = mr_pwm_device_add(&pwm_device[count], drv_pwm_data[count].name, - &drv_ops,&drv_pwm_data[count] + &drv_ops, &drv_pwm_data[count] ); MR_ASSERT(ret == MR_ERR_OK); } @@ -78,4 +78,4 @@ mr_err_t drv_pwm_init(void) } MR_INIT_DRIVER_EXPORT(drv_pwm_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_spi.c b/driver/drv_spi.c index 541a430..7e65f27 100644 --- a/driver/drv_spi.c +++ b/driver/drv_spi.c @@ -95,4 +95,4 @@ mr_err_t drv_spi_bus_init(void) } MR_INIT_DRIVER_EXPORT(drv_spi_bus_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_timer.c b/driver/drv_timer.c index 5f629f7..0ec5b0f 100644 --- a/driver/drv_timer.c +++ b/driver/drv_timer.c @@ -89,4 +89,4 @@ mr_err_t drv_timer_init(void) } MR_INIT_DRIVER_EXPORT(drv_timer_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_uart.c b/driver/drv_uart.c index dc2f352..5cab679 100644 --- a/driver/drv_uart.c +++ b/driver/drv_uart.c @@ -91,4 +91,4 @@ mr_err_t drv_uart_init(void) } MR_INIT_DRIVER_EXPORT(drv_uart_init); -#endif \ No newline at end of file +#endif diff --git a/driver/drv_uart.h b/driver/drv_uart.h index 0cc9382..f4f56e5 100644 --- a/driver/drv_uart.h +++ b/driver/drv_uart.h @@ -28,4 +28,4 @@ struct drv_uart_data #endif -#endif /* _DRV_UART_H_ */ \ No newline at end of file +#endif /* _DRV_UART_H_ */ diff --git a/driver/mrboard.c b/driver/mrboard.c index 0ccb27d..2a55a17 100644 --- a/driver/mrboard.c +++ b/driver/mrboard.c @@ -42,4 +42,4 @@ void mr_delay_us(mr_size_t us) void mr_delay_ms(mr_size_t ms) { -} \ No newline at end of file +} diff --git a/driver/mrboard.h b/driver/mrboard.h index efef0d3..98d4b75 100644 --- a/driver/mrboard.h +++ b/driver/mrboard.h @@ -80,4 +80,4 @@ extern "C" { } #endif -#endif /* _MR_BOARD_H_ */ \ No newline at end of file +#endif /* _MR_BOARD_H_ */ diff --git a/driver/mrdrv.h b/driver/mrdrv.h index a5a6917..77c8dd4 100644 --- a/driver/mrdrv.h +++ b/driver/mrdrv.h @@ -45,4 +45,4 @@ #include "drv_timer.h" #endif -#endif /* _MR_DRV_H_ */ \ No newline at end of file +#endif /* _MR_DRV_H_ */ diff --git a/include/mrapi.h b/include/mrapi.h index 796547a..3a0a3ea 100644 --- a/include/mrapi.h +++ b/include/mrapi.h @@ -130,4 +130,4 @@ mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, } #endif -#endif /* _MR_API_H_ */ \ No newline at end of file +#endif /* _MR_API_H_ */ diff --git a/include/mrconfig.h b/include/mrconfig.h index aa4edf4..b038baf 100644 --- a/include/mrconfig.h +++ b/include/mrconfig.h @@ -107,6 +107,19 @@ extern "C" { #endif +/** + * @def Message config. + * + * MR_CFG_DISABLE: Disable msg. + * MR_CFG_ENABLE: Enable msg. + */ +#define MR_CFG_MSG MR_CFG_ENABLE + +#if (MR_CFG_MSG == MR_CFG_ENABLE) + +#define MR_CFG_MSG_RX_BUFSZ 32 +#endif + /** * @def Pin config. * @@ -180,4 +193,4 @@ extern "C" { } #endif -#endif /* _MR_CONFIG_H_ */ \ No newline at end of file +#endif /* _MR_CONFIG_H_ */ diff --git a/include/mrdef.h b/include/mrdef.h index 474c995..02d2c7b 100644 --- a/include/mrdef.h +++ b/include/mrdef.h @@ -427,4 +427,4 @@ typedef struct mr_device_channel *mr_device_channel_t; /* Type for } #endif -#endif /* _MR_DEF_H_ */ \ No newline at end of file +#endif /* _MR_DEF_H_ */ diff --git a/include/mrlib.h b/include/mrlib.h index b54c85e..08f5ed0 100644 --- a/include/mrlib.h +++ b/include/mrlib.h @@ -17,4 +17,4 @@ #include "mrdrv.h" #endif -#endif /* _MR_LIB_H_ */ \ No newline at end of file +#endif /* _MR_LIB_H_ */ diff --git a/include/mrservice.h b/include/mrservice.h index 487cd74..4b2643d 100644 --- a/include/mrservice.h +++ b/include/mrservice.h @@ -335,4 +335,4 @@ MR_INLINE mr_bool_t mr_list_is_empty(mr_list_t list) } #endif -#endif /* _MR_SERVICE_H_ */ \ No newline at end of file +#endif /* _MR_SERVICE_H_ */ diff --git a/module/eloop/README.md b/module/eloop/README.md index 7ca596a..35d23f8 100644 --- a/module/eloop/README.md +++ b/module/eloop/README.md @@ -72,12 +72,12 @@ mr_err_t mr_eloop_add(mr_eloop_t eloop, const char *name, mr_size_t queue_size); mr_err_t mr_eloop_remove(mr_eloop_t eloop); ``` -| 参数 | 描述 | -|:-----------|:-------| -| eloop | 事件循环 | -| **返回** | | -| MR_ERR_OK | 移除成功 | -| 错误码 | 移除失败 | +| 参数 | 描述 | +|:----------|:-----| +| eloop | 事件循环 | +| **返回** | | +| MR_ERR_OK | 移除成功 | +| 错误码 | 移除失败 | ---------- @@ -87,9 +87,9 @@ mr_err_t mr_eloop_remove(mr_eloop_t eloop); void mr_eloop_handle(mr_eloop_t eloop); ``` -| 参数 | 描述 | -|:-----------|:-------| -| eloop | 事件循环 | +| 参数 | 描述 | +|:------|:-----| +| eloop | 事件循环 | 按事件发生顺序处理(FIFO),仅会处理进入处理函数前已发生的事件,防止单一事件循环触发阻塞系统。 @@ -101,15 +101,15 @@ void mr_eloop_handle(mr_eloop_t eloop); mr_err_t mr_eloop_create_event(mr_eloop_t eloop, mr_uint32_t id, mr_err_t (*cb)(mr_eloop_t ep, void *args), void *args); ``` -| 参数 | 描述 | -|:-------------|:---------| -| eloop | 事件循环 | -| id | 事件ID | -| cb | 事件回调函数 | -| args | 回调函数参数 | -| **返回** | | -| MR_ERR_OK | 创建成功 | -| 错误码 | 创建失败 | +| 参数 | 描述 | +|:----------|:-------| +| eloop | 事件循环 | +| id | 事件ID | +| cb | 事件回调函数 | +| args | 回调函数参数 | +| **返回** | | +| MR_ERR_OK | 创建成功 | +| 错误码 | 创建失败 | 当与RTOS线程组合使用时可实现真正意义上的高效并发,并且可根据线程优先级控制事件的响应速度。 但是也会引入新的问题,当事件回调中使用任何能使线程挂起的功能时,可能会导致其余所有事件无法响应(等同于所有事件被挂起等待),因此事件处理函数中不因使用类似功能(事件回调应能直接处理无需等待)。 @@ -124,13 +124,13 @@ mr_err_t mr_eloop_create_event(mr_eloop_t eloop, mr_uint32_t id, mr_err_t (*cb)( mr_err_t mr_eloop_delete_event(mr_eloop_t eloop, mr_uint32_t id); ``` -| 参数 | 描述 | -|:-------------|:---------| -| eloop | 事件循环 | -| id | 事件ID | -| **返回** | | -| MR_ERR_OK | 删除成功 | -| 错误码 | 删除失败 | +| 参数 | 描述 | +|:----------|:-----| +| eloop | 事件循环 | +| id | 事件ID | +| **返回** | | +| MR_ERR_OK | 删除成功 | +| 错误码 | 删除失败 | ---------- @@ -140,13 +140,13 @@ mr_err_t mr_eloop_delete_event(mr_eloop_t eloop, mr_uint32_t id); mr_err_t mr_eloop_notify_event(mr_eloop_t eloop, mr_uint32_t id); ``` -| 参数 | 描述 | -|:-------------|:---------| -| eloop | 事件循环 | -| id | 事件ID | -| **返回** | | -| MR_ERR_OK | 通知成功 | -| 错误码 | 通知失败 | +| 参数 | 描述 | +|:----------|:-----| +| eloop | 事件循环 | +| id | 事件ID | +| **返回** | | +| MR_ERR_OK | 通知成功 | +| 错误码 | 通知失败 | 通知事件为异步操作,实际处理将在事件处理中进行。 当通知事件发生失败(错误码 -5)时,请增加缓冲队列大小或提高事件处理频率(缓冲队列已满,无法及时响应事件,导致事件丢失)。 @@ -159,13 +159,13 @@ mr_err_t mr_eloop_notify_event(mr_eloop_t eloop, mr_uint32_t id); mr_err_t mr_eloop_trigger_event(mr_eloop_t eloop, mr_uint32_t id); ``` -| 参数 | 描述 | -|:-------------|:---------| -| eloop | 事件循环 | -| id | 事件ID | -| **返回** | | -| MR_ERR_OK | 触发成功 | -| 错误码 | 触发失败 | +| 参数 | 描述 | +|:----------|:-----| +| eloop | 事件循环 | +| id | 事件ID | +| **返回** | | +| MR_ERR_OK | 触发成功 | +| 错误码 | 触发失败 | 此操作为同步操作,实际处理将在触发处立即执行。 diff --git a/module/eloop/eloop.c b/module/eloop/eloop.c index 4f68ee7..027f323 100644 --- a/module/eloop/eloop.c +++ b/module/eloop/eloop.c @@ -308,4 +308,4 @@ mr_uint32_t mr_eloop_string_to_id(const char *string, mr_size_t size) return id; } -#endif \ No newline at end of file +#endif diff --git a/module/eloop_sp/eloop_sp.c b/module/eloop_sp/eloop_sp.c index 9f7ec1e..736ed98 100644 --- a/module/eloop_sp/eloop_sp.c +++ b/module/eloop_sp/eloop_sp.c @@ -309,4 +309,4 @@ mr_err_t mr_eloop_sp_trigger_event(mr_eloop_sp_t eloop, mr_uint8_t id) return MR_ERR_OK; } -#endif \ No newline at end of file +#endif diff --git a/module/etask/README.md b/module/etask/README.md index 91999a7..1c13edf 100644 --- a/module/etask/README.md +++ b/module/etask/README.md @@ -68,12 +68,12 @@ mr_err_t mr_etask_add(mr_etask_t etask, const char *name, mr_size_t size); mr_err_t mr_etask_remove(mr_etask_t etask); ``` -| 参数 | 描述 | -|:-----------|:-------| -| etask | 事件任务 | -| **返回** | | -| MR_ERR_OK | 移除成功 | -| 错误码 | 移除失败 | +| 参数 | 描述 | +|:----------|:-----| +| etask | 事件任务 | +| **返回** | | +| MR_ERR_OK | 移除成功 | +| 错误码 | 移除失败 | ---------- @@ -83,9 +83,9 @@ mr_err_t mr_etask_remove(mr_etask_t etask); void mr_etask_tick_update(mr_etask_t etask); ``` -| 参数 | 描述 | -|:-----------|:-------| -| etask | 事件任务 | +| 参数 | 描述 | +|:------|:-----| +| etask | 事件任务 | ---------- @@ -95,9 +95,9 @@ void mr_etask_tick_update(mr_etask_t etask); void mr_etask_handle(mr_etask_t etask); ``` -| 参数 | 描述 | -|:-----------|:-------| -| etask | 事件任务 | +| 参数 | 描述 | +|:------|:-----| +| etask | 事件任务 | 按事件发生顺序处理(FIFO),仅会处理进入处理函数前已发生的事件,防止单一事件循环触发阻塞系统。 @@ -129,7 +129,7 @@ mr_err_t mr_etask_start(mr_etask_t etask, | 错误码 | 启动失败 | - sflags: 事件分为普通事件与定时事件。定时事件可分为单次/周期和软件/硬件,单次定时事件在发生完成后将释放自身,周期定时事件在发生完成后将自动重启直至用户停止该事件。 -软件定时事件在超时发生时将事件加入事件队列中等待处理,而硬件定时器将在任务时钟更新处直接处理。 + 软件定时事件在超时发生时将事件加入事件队列中等待处理,而硬件定时器将在任务时钟更新处直接处理。 ```c MR_ETASK_SFLAG_EVENT /* 普通事件 */ @@ -152,13 +152,13 @@ MR_ETASK_SFLAG_TIMER | MR_ETASK_SFLAG_ONESHOT | MR_ETASK_SFLAG_HARD /* 定时事 mr_err_t mr_etask_stop(mr_etask_t etask, mr_uint32_t id); ``` -| 参数 | 描述 | -|:-------------|:-----| -| etask | 事件任务 | -| id | 事件ID | -| **返回** | | -| MR_ERR_OK | 停止成功 | -| 错误码 | 停止失败 | +| 参数 | 描述 | +|:----------|:-----| +| etask | 事件任务 | +| id | 事件ID | +| **返回** | | +| MR_ERR_OK | 停止成功 | +| 错误码 | 停止失败 | ---------- @@ -197,11 +197,11 @@ MR_ETASK_WFLAG_STATE /* 状态唤 mr_uint32_t mr_etask_str2id(const char *string); ``` -| 参数 | 描述 | -|:-------|:------| -| string | 字符串 | -| **返回** | | -| 事件ID | | +| 参数 | 描述 | +|:-------|:----| +| string | 字符串 | +| **返回** | | +| 事件ID | | 当事件数量过多且字符串内容相近时可能会出现哈希碰撞。 diff --git a/module/etask/etask.c b/module/etask/etask.c index 3010f28..7525873 100644 --- a/module/etask/etask.c +++ b/module/etask/etask.c @@ -466,4 +466,4 @@ mr_uint32_t mr_etask_str2id(const char *string) return id; } -#endif \ No newline at end of file +#endif diff --git a/module/etask/etask.h b/module/etask/etask.h index 3e86316..c12eb1f 100644 --- a/module/etask/etask.h +++ b/module/etask/etask.h @@ -75,4 +75,4 @@ mr_uint32_t mr_etask_str2id(const char *string); } #endif -#endif /* _ETASK_H_ */ \ No newline at end of file +#endif /* _ETASK_H_ */ diff --git a/module/icm20602/README.md b/module/icm20602/README.md index e5f21bb..a2f54e5 100644 --- a/module/icm20602/README.md +++ b/module/icm20602/README.md @@ -28,12 +28,12 @@ ICM20602是一款低功耗六轴MEMS运动跟踪设备,集成了三轴陀螺仪 mr_icm20602_t mr_icm20602_find(const char *name); ``` -| 参数 | 描述 | -|:------------|:----------| -| name | ICM20602名 | -| **返回** | | -| ICM20602 | 查找成功 | -| MR_NULL | 查找失败 | +| 参数 | 描述 | +|:---------|:----------| +| name | ICM20602名 | +| **返回** | | +| ICM20602 | 查找成功 | +| MR_NULL | 查找失败 | ---------- diff --git a/module/icm20602/icm20602.c b/module/icm20602/icm20602.c index 3f68c36..7efb0a7 100644 --- a/module/icm20602/icm20602.c +++ b/module/icm20602/icm20602.c @@ -260,4 +260,4 @@ struct mr_icm20602_3_axis mr_icm20602_read_gyro_3_axis(mr_icm20602_t icm20602) return axis; } -#endif \ No newline at end of file +#endif diff --git a/module/icm20602/icm20602.h b/module/icm20602/icm20602.h index 2762744..674c35f 100644 --- a/module/icm20602/icm20602.h +++ b/module/icm20602/icm20602.h @@ -95,4 +95,4 @@ struct mr_icm20602_3_axis mr_icm20602_read_gyro_3_axis(mr_icm20602_t icm20602); } #endif -#endif /* _ICM20602_H_ */ \ No newline at end of file +#endif /* _ICM20602_H_ */ diff --git a/src/device.c b/src/device.c index bdbfd2a..2f10955 100644 --- a/src/device.c +++ b/src/device.c @@ -312,4 +312,4 @@ mr_ssize_t mr_device_write(mr_device_t device, mr_off_t pos, const void *buffer, return ret; } -#endif \ No newline at end of file +#endif diff --git a/src/kernel.c b/src/kernel.c index 1d5e1dd..542b57f 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -17,8 +17,6 @@ static struct mr_object_container mr_object_container_table[] = {Mr_Object_Type_Module, MR_OBJECT_MAGIC, {&mr_object_container_table[Mr_Object_Type_Module].list, &mr_object_container_table[Mr_Object_Type_Module].list}}, }; -static mr_size_t mr_allocated_memory_size = 0; - /** * @brief This function find the object container. * @@ -273,7 +271,7 @@ mr_err_t mr_mutex_take(mr_mutex_t mutex, void *acquirer) return MR_ERR_OK; } - if(mutex->owner == acquirer) + if (mutex->owner == acquirer) { mutex->hold++; @@ -369,4 +367,4 @@ MR_WEAK void mr_free(void *memory) { free(memory); } -} \ No newline at end of file +} diff --git a/src/kservice.c b/src/kservice.c index 772e135..6e53b46 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -837,4 +837,4 @@ mr_size_t mr_avl_get_length(mr_avl_t tree) } return length; -} \ No newline at end of file +}