IR RX simple app (#218)
* split falling and rising ir rx events * fix irda * simple irda rx function for app * add extern timer * fix timer num for f2
This commit is contained in:
@@ -146,8 +146,8 @@ extern TIM_HandleTypeDef htim15;
|
||||
#define LFRFID_TIM htim15
|
||||
#define LFRFID_CH TIM_CHANNEL_1
|
||||
|
||||
#define IRDA_TIM htim2
|
||||
#define IRDA_CH TIM_CHANNEL_4
|
||||
#define IRDA_TX_TIM htim2
|
||||
#define IRDA_TX_CH TIM_CHANNEL_3
|
||||
|
||||
#define NFC_IRQ_Pin RFID_PULL_Pin
|
||||
#define NFC_IRQ_GPIO_Port RFID_PULL_GPIO_Port
|
||||
|
@@ -43,9 +43,9 @@ void hal_pwmn_stop(TIM_HandleTypeDef* tim, uint32_t channel) {
|
||||
}
|
||||
|
||||
void irda_pwm_set(float value, float freq){
|
||||
hal_pwm_set(value, freq, &IRDA_TIM, IRDA_CH);
|
||||
hal_pwm_set(value, freq, &IRDA_TX_TIM, IRDA_TX_CH);
|
||||
}
|
||||
|
||||
void irda_pwm_stop(){
|
||||
hal_pwm_stop(&IRDA_TIM, IRDA_CH);
|
||||
hal_pwm_stop(&IRDA_TX_TIM, IRDA_TX_CH);
|
||||
}
|
5
firmware/targets/f2/api-hal/api-hal-tim.c
Normal file
5
firmware/targets/f2/api-hal/api-hal-tim.c
Normal file
@@ -0,0 +1,5 @@
|
||||
#include "cmsis_os.h"
|
||||
#include "api-hal-tim.h"
|
||||
|
||||
void tim_irda_rx_init(void) {
|
||||
}
|
4
firmware/targets/f2/api-hal/api-hal-tim.h
Normal file
4
firmware/targets/f2/api-hal/api-hal-tim.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#pragma once
|
||||
#include "main.h"
|
||||
|
||||
void tim_irda_rx_init(void);
|
@@ -4,3 +4,4 @@
|
||||
#include "api-hal-delay.h"
|
||||
#include "api-hal-pwm.h"
|
||||
#include "api-hal-task.h"
|
||||
#include "api-hal-tim.h"
|
||||
|
@@ -173,8 +173,15 @@ extern TIM_HandleTypeDef htim16;
|
||||
#define LFRFID_TIM htim1
|
||||
#define LFRFID_CH TIM_CHANNEL_1
|
||||
|
||||
#define IRDA_TIM htim1
|
||||
#define IRDA_CH TIM_CHANNEL_3
|
||||
#define IRDA_TX_TIM htim1
|
||||
#define IRDA_TX_CH TIM_CHANNEL_3
|
||||
|
||||
// only for reference
|
||||
// IRDA RX timer dont exist in F2
|
||||
// and timer need more data to init (NVIC IRQn to set priority)
|
||||
#define IRDA_RX_TIM htim2
|
||||
#define IRDA_RX_FALLING_CH TIM_CHANNEL_1
|
||||
#define IRDA_RX_RISING_CH TIM_CHANNEL_2
|
||||
|
||||
#define NFC_IRQ_Pin RFID_PULL_Pin
|
||||
#define NFC_IRQ_GPIO_Port RFID_PULL_GPIO_Port
|
||||
|
@@ -49,9 +49,9 @@ void hal_pwmn_stop(TIM_HandleTypeDef* tim, uint32_t channel) {
|
||||
}
|
||||
|
||||
void irda_pwm_set(float value, float freq){
|
||||
hal_pwmn_set(value, freq, &IRDA_TIM, IRDA_CH);
|
||||
hal_pwmn_set(value, freq, &IRDA_TX_TIM, IRDA_TX_CH);
|
||||
}
|
||||
|
||||
void irda_pwm_stop(){
|
||||
hal_pwmn_stop(&IRDA_TIM, IRDA_CH);
|
||||
hal_pwmn_stop(&IRDA_TX_TIM, IRDA_TX_CH);
|
||||
}
|
8
firmware/targets/f3/api-hal/api-hal-tim.c
Normal file
8
firmware/targets/f3/api-hal/api-hal-tim.c
Normal file
@@ -0,0 +1,8 @@
|
||||
#include "cmsis_os.h"
|
||||
#include "api-hal-tim.h"
|
||||
|
||||
void tim_irda_rx_init(void) {
|
||||
HAL_NVIC_SetPriority(TIM2_IRQn, 5, 0);
|
||||
HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_1);
|
||||
HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_2);
|
||||
}
|
4
firmware/targets/f3/api-hal/api-hal-tim.h
Normal file
4
firmware/targets/f3/api-hal/api-hal-tim.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#pragma once
|
||||
#include "main.h"
|
||||
|
||||
void tim_irda_rx_init(void);
|
@@ -4,3 +4,4 @@
|
||||
#include "api-hal-delay.h"
|
||||
#include "api-hal-pwm.h"
|
||||
#include "api-hal-task.h"
|
||||
#include "api-hal-tim.h"
|
||||
|
Reference in New Issue
Block a user