mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-16 17:23:35 +08:00
Update px4iofirmware, px4io and drivers to uses NuttX IRQ API changes
This commit is contained in:
committed by
Daniel Agar
parent
bc81339a68
commit
21caf63e13
@@ -82,7 +82,7 @@ static void unregister_interrupt(int irq);
|
||||
* @param context The interrupt register context.
|
||||
* @return Always returns OK.
|
||||
*/
|
||||
static int interrupt(int irq, void *context);
|
||||
static int interrupt(int irq, void *context, void *arg);
|
||||
|
||||
Device::Device(const char *name,
|
||||
int irq) :
|
||||
@@ -167,7 +167,7 @@ register_interrupt(int irq, Device *owner)
|
||||
if (irq_entries[i].irq == 0) {
|
||||
|
||||
// great, we could put it here; try attaching it
|
||||
ret = irq_attach(irq, &interrupt);
|
||||
ret = irq_attach(irq, &interrupt, owner);
|
||||
|
||||
if (ret == OK) {
|
||||
irq_entries[i].irq = irq;
|
||||
@@ -193,7 +193,7 @@ unregister_interrupt(int irq)
|
||||
}
|
||||
|
||||
static int
|
||||
interrupt(int irq, void *context)
|
||||
interrupt(int irq, void *context, void *arg)
|
||||
{
|
||||
for (unsigned i = 0; i < irq_nentries; i++) {
|
||||
if (irq_entries[i].irq == irq) {
|
||||
|
||||
@@ -262,7 +262,7 @@ private:
|
||||
|
||||
};
|
||||
|
||||
static int pwmin_tim_isr(int irq, void *context);
|
||||
static int pwmin_tim_isr(int irq, void *context, void *arg);
|
||||
static void pwmin_start();
|
||||
static void pwmin_info(void);
|
||||
static void pwmin_test(void);
|
||||
@@ -330,7 +330,7 @@ void PWMIN::_timer_init(void)
|
||||
px4_arch_configgpio(GPIO_VDD_RANGEFINDER_EN);
|
||||
|
||||
/* claim our interrupt vector */
|
||||
irq_attach(PWMIN_TIMER_VECTOR, pwmin_tim_isr);
|
||||
irq_attach(PWMIN_TIMER_VECTOR, pwmin_tim_isr, NULL);
|
||||
|
||||
/* Clear no bits, set timer enable bit.*/
|
||||
modifyreg32(PWMIN_TIMER_POWER_REG, 0, PWMIN_TIMER_POWER_BIT);
|
||||
@@ -544,7 +544,7 @@ void PWMIN::print_info(void)
|
||||
/*
|
||||
* Handle the interrupt, gathering pulse data
|
||||
*/
|
||||
static int pwmin_tim_isr(int irq, void *context)
|
||||
static int pwmin_tim_isr(int irq, void *context, void *arg)
|
||||
{
|
||||
uint16_t status = rSR;
|
||||
uint32_t period = rCCR_PWMIN_A;
|
||||
|
||||
@@ -136,7 +136,7 @@ private:
|
||||
/**
|
||||
* Serial interrupt handler.
|
||||
*/
|
||||
static int _interrupt(int vector, void *context);
|
||||
static int _interrupt(int vector, void *context, void *arg);
|
||||
void _do_interrupt();
|
||||
|
||||
/**
|
||||
@@ -291,7 +291,7 @@ PX4IO_serial::init()
|
||||
rBRR = (mantissa << USART_BRR_MANT_SHIFT) | (fraction << USART_BRR_FRAC_SHIFT);
|
||||
|
||||
/* attach serial interrupt handler */
|
||||
irq_attach(PX4IO_SERIAL_VECTOR, _interrupt);
|
||||
irq_attach(PX4IO_SERIAL_VECTOR, _interrupt, NULL);
|
||||
up_enable_irq(PX4IO_SERIAL_VECTOR);
|
||||
|
||||
/* enable UART in DMA mode, enable error and line idle interrupts */
|
||||
@@ -657,7 +657,7 @@ PX4IO_serial::_do_rx_dma_callback(unsigned status)
|
||||
}
|
||||
|
||||
int
|
||||
PX4IO_serial::_interrupt(int irq, void *context)
|
||||
PX4IO_serial::_interrupt(int irq, void *context, void *arg)
|
||||
{
|
||||
if (g_interface != nullptr) {
|
||||
g_interface->_do_interrupt();
|
||||
|
||||
Reference in New Issue
Block a user