Petras Saduikis / Mbed 2 deprecated FiniteStateMachine

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MyInterruptHandler.h Source File

MyInterruptHandler.h

00001 /*
00002 * FiniteStateMachine. Table driven Finite State Machine library 
00003 * based on theHarel state machine, supporting actions on transitions, state
00004 * entry and state exit.
00005 *
00006 * Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk>
00007 *
00008 * This file is part of FiniteStateMachine.
00009 *
00010 * FiniteStateMachine is free software: you can redistribute it and/or modify
00011 * it under the terms of the GNU General Public License as published by
00012 * the Free Software Foundation, either version 3 of the License, or
00013 * (at your option) any later version.
00014 * 
00015 * FiniteStateMachine is distributed in the hope that it will be useful,
00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 * GNU General Public License for more details.
00019 *
00020 * You should have received a copy of the GNU General Public License
00021 * along with DebugTrace.  If not, see <http://www.gnu.org/licenses/>.
00022 */
00023 
00024 #ifndef SNATCH59_MYINTERRUPTHANDLER_H
00025 #define SNATCH59_MYINTERRUPTHANDLER_H
00026 
00027 // event names
00028 enum clientEvent {intr1, intr2, tickr1};
00029 
00030 class MyInterruptHandler
00031 {
00032 public:
00033     MyInterruptHandler();
00034 
00035     void processEvent(clientEvent eventId);
00036     
00037     // interrupt & timer handlers
00038     void intrhandler1();
00039     void intrhandler2();
00040     void tickerhandler1();
00041 
00042     // state or transition actions
00043     void ledSequence1();
00044     void ledSequence2();
00045     
00046 private:
00047     InterruptIn interrupt1;
00048     InterruptIn interrupt2;
00049     Ticker ticker1;
00050 };
00051 
00052 #endif