You've already forked M5Module-Fan-Internal-FW
mirror of
https://github.com/m5stack/M5Module-Fan-Internal-FW.git
synced 2026-05-20 11:36:51 -07:00
59 lines
2.5 KiB
C
59 lines
2.5 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef __FLASH_H
|
|
#define __FLASH_H
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "stm32f0xx.h"
|
|
#include <stdbool.h>
|
|
#include "stm32f0xx_hal_flash_ex.h"
|
|
|
|
// Flash page head
|
|
#define STM32F0xx_PAGE_SIZE (0x400)
|
|
#define STM32F0xx_FLASH_PAGE0_STARTADDR (0x8000000)
|
|
#define STM32F0xx_FLASH_PAGE1_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE2_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+2*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE3_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+3*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE4_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+4*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE5_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+5*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE6_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+6*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE7_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+7*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE8_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+8*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE9_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+9*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE10_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+10*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE11_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+11*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE12_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+12*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE13_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+13*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE14_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+14*STM32F0xx_PAGE_SIZE)
|
|
#define STM32F0xx_FLASH_PAGE15_STARTADDR (STM32F0xx_FLASH_PAGE0_STARTADDR+15*STM32F0xx_PAGE_SIZE)
|
|
#define FAN_CONTROL_ADDR (STM32F0xx_FLASH_PAGE15_STARTADDR+0)
|
|
#define PWM_FREQUENCY_ADDR (STM32F0xx_FLASH_PAGE15_STARTADDR+1)
|
|
#define PWM_DUTY_CYCLE_ADDR (STM32F0xx_FLASH_PAGE15_STARTADDR+2)
|
|
#define I2C_ADDR (STM32F0xx_FLASH_PAGE15_STARTADDR+3)
|
|
|
|
bool set_fan_control(uint8_t data);
|
|
uint8_t get_fan_control(void);
|
|
bool set_pwm_freq(uint8_t data);
|
|
uint8_t get_pwm_freq(void);
|
|
bool set_pwm_duty_cycle(uint8_t data);
|
|
uint8_t get_pwm_duty_cycle(void);
|
|
bool set_i2c_addr(uint8_t data);
|
|
uint8_t get_i2c_addr(void);
|
|
|
|
bool write_flash(uint8_t control,uint8_t frequency,uint8_t duty);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __FLASH_H */
|