Click here to Skip to main content
15,896,557 members
Articles / Mobile Apps

Develop embedded systems based on UML state machines

Rate me:
Please Sign up or sign in to vote.
3.88/5 (9 votes)
1 Jun 2005CPOL3 min read 81.3K   1.3K   37  
This article discovers how to develop and simulate cross-platform embedded systems using the UML State Machine Wizard.
/*
FILE:PowerUpDown.h
NOTE: The State Machine Wizard will add mapping macros between /*{{ and /*}}. Do NOT modify manually.
*/

#ifndef POWERUPDOWN_H
#define POWERUPDOWN_H

#include "sme.h"

#ifdef __cplusplus
extern "C" {
#endif

SME_BEGIN_STATE_DECLARE(PowerUpDown)
	/*{{SME_STATE_DECLARE(PowerUpDown)*/
	SME_STATE_DECLARE(PowerUpDown)
	SME_STATE_DECLARE(PowerDown)
	SME_STATE_DECLARE(PowerUp)
	SME_STATE_DECLARE(Idle)
	SME_STATE_DECLARE(MenuSurf)
	SME_STATE_DECLARE(Function)
	SME_STATE_DECLARE(DigitInput)
	SME_STATE_DECLARE(ImageSurf)
	SME_MAX_STATE(PowerUpDown)
	/*}}SME_STATE_DECLARE*/
SME_END_STATE_DECLARE

/*{{SME_BEGIN_EVENT_HANDLER(PowerUpDown)*/
int PowerUpDownEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int PowerUpDownExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int PowerUpEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int PowerUpExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int PowerDownEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int PowerDownExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int IdleEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int IdleExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int MenuSurfEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int MenuSurfExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int FunctionEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int FunctionExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnPowerUpDownEVENT_KEY_LEFTSOFT(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnPowerUpDownEVENT_KEY_RIGHTSOFT(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_OPEN_MENU_MAIN(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_OPEN_MENU_LANG(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnFunctionEVENT_DLG_OK(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnMenuSurfEVENT_MENU_SEL(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int DigitInputEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int DigitInputExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_0(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_1(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_2(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_3(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_4(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_5(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_6(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_7(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_8(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_KEY_9(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int ImageSurfEntry(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int ImageSurfExit(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnImageSurfEVENT_IMAGE_FUNC(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnImageSurfEVENT_IMAGE_OPEN(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnIdleEVENT_ON_TIMER(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
int OnDigitInputEVENT_EDIT_OK(struct SME_APP_T *pApp, struct SME_EVENT_T *pEvent);
/*}}SME_END_EVENT_HANDLER*/

int UpdateClock();

#ifdef __cplusplus
}
#endif

#endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
China China
Jerome. (Free to speak, free to use.)

Comments and Discussions