mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-04-24 02:31:28 +00:00
Consolidate event handler code, including IRQ.
This commit is contained in:
parent
b058c0fe00
commit
69b258cc2b
@ -118,7 +118,6 @@ CSRC = $(PORTSRC) \
|
|||||||
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
|
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
|
||||||
# setting.
|
# setting.
|
||||||
CPPSRC = main.cpp \
|
CPPSRC = main.cpp \
|
||||||
irq_ipc.cpp \
|
|
||||||
irq_lcd_frame.cpp \
|
irq_lcd_frame.cpp \
|
||||||
irq_controls.cpp \
|
irq_controls.cpp \
|
||||||
irq_rtc.cpp \
|
irq_rtc.cpp \
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc.
|
|
||||||
*
|
|
||||||
* This file is part of PortaPack.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
* Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "irq_ipc.hpp"
|
|
||||||
|
|
||||||
#include "event.hpp"
|
|
||||||
|
|
||||||
#include "ch.h"
|
|
||||||
#include "hal.h"
|
|
||||||
|
|
||||||
#include "lpc43xx_cpp.hpp"
|
|
||||||
using namespace lpc43xx;
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
CH_IRQ_HANDLER(M4Core_IRQHandler) {
|
|
||||||
CH_IRQ_PROLOGUE();
|
|
||||||
|
|
||||||
chSysLockFromIsr();
|
|
||||||
events_flag_isr(EVT_MASK_APPLICATION);
|
|
||||||
chSysUnlockFromIsr();
|
|
||||||
|
|
||||||
creg::m4txevent::clear();
|
|
||||||
|
|
||||||
CH_IRQ_EPILOGUE();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc.
|
|
||||||
*
|
|
||||||
* This file is part of PortaPack.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
* Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __IRQ_IPC_H__
|
|
||||||
#define __IRQ_IPC_H__
|
|
||||||
|
|
||||||
#endif/*__IRQ_IPC_H__*/
|
|
@ -33,7 +33,6 @@
|
|||||||
#include "ui_painter.hpp"
|
#include "ui_painter.hpp"
|
||||||
#include "ui_navigation.hpp"
|
#include "ui_navigation.hpp"
|
||||||
|
|
||||||
#include "irq_ipc.hpp"
|
|
||||||
#include "irq_lcd_frame.hpp"
|
#include "irq_lcd_frame.hpp"
|
||||||
#include "irq_controls.hpp"
|
#include "irq_controls.hpp"
|
||||||
#include "irq_rtc.hpp"
|
#include "irq_rtc.hpp"
|
||||||
@ -55,6 +54,22 @@ using namespace lpc43xx;
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
CH_IRQ_HANDLER(M4Core_IRQHandler) {
|
||||||
|
CH_IRQ_PROLOGUE();
|
||||||
|
|
||||||
|
chSysLockFromIsr();
|
||||||
|
events_flag_isr(EVT_MASK_APPLICATION);
|
||||||
|
chSysUnlockFromIsr();
|
||||||
|
|
||||||
|
creg::m4txevent::clear();
|
||||||
|
|
||||||
|
CH_IRQ_EPILOGUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
class EventDispatcher {
|
class EventDispatcher {
|
||||||
public:
|
public:
|
||||||
EventDispatcher(
|
EventDispatcher(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user