Ejemplo n.º 1
0
//------------------------------------------
// 初期化関数
bool TsceneStageSelect::Initialize( void )
{

	FhWnd = TaskManager().GethWnd();
	FiClientX = TaskManager().GetiClientX();
	FiClientY = TaskManager().GetiClientY();

	// 画像をメモリに読み込む
	FpBackGround = DxGraphics9().CreateSpriteFormFile(TEXT("stage_select_back.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnStg1 = DxGraphics9().CreateSpriteFormFile(TEXT("btn_stg1.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnStg2 = DxGraphics9().CreateSpriteFormFile(TEXT("btn_stg2.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnStg3 = DxGraphics9().CreateSpriteFormFile(TEXT("btn_stg3.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnStg4 = DxGraphics9().CreateSpriteFormFile(TEXT("btn_stg4.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnStg5 = DxGraphics9().CreateSpriteFormFile(TEXT("btn_stg5.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnReward = DxGraphics9().CreateSpriteFormFile(TEXT("btn_rewards.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnCursor = DxGraphics9().CreateSpriteFormFile(TEXT("btn_cursor.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnKanata = DxGraphics9().CreateSpriteFormFile(TEXT("kanata_btn_selected.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnKanataS = DxGraphics9().CreateSpriteFormFile(TEXT("kanata_btn_selected.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnShion = DxGraphics9().CreateSpriteFormFile(TEXT("shion_btn_normal.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));
	FpBtnShionS = DxGraphics9().CreateSpriteFormFile(TEXT("shion_btn_selected.png"),D3DFMT_A8R8G8B8 , D3DCOLOR_ARGB( 255, 255, 0, 0));

	// ボタン作成
	CreateButton(UI_BTN_STG_1,Vector2D(-20,-20),Vector2D(0,0));
	CreateButton(UI_BTN_STG_2,Vector2D(-20,-10),Vector2D(0,0));
	CreateButton(UI_BTN_STG_3,Vector2D(-20,0),Vector2D(0,0));
	CreateButton(UI_BTN_STG_4,Vector2D(-20,10),Vector2D(0,0));
	CreateButton(UI_BTN_STG_5,Vector2D(-20,20),Vector2D(0,0));
	CreateButton(UI_BTN_SHION,Vector2D(20,-20),Vector2D(0,0));
	CreateButton(UI_BTN_KANATA,Vector2D(20,20),Vector2D(0,0));
	return true;
}
Ejemplo n.º 2
0
//==============================================================================
int main(void)
{
ini();			// Инициализируем периферию
iniServo();		// Инициализируем сервы
resetRTOS();	// Сбрасываем ядро
iniRTOS();		// Старт(инициализация) ядра. 

// Запуск фоновых задач.
Task2();
Task_setServo();
inf_send();

	while(1) 		// Главный цикл диспетчера
	{

		wdt_reset();	// Сброс собачьего таймера
		TaskManager();	// Вызов диспетчера
		// у приема байт по UART не меньший приоритет, чем у RTOS 
		if(FlagRecvCmd)
	 	{
			FlagRecvCmd = FLAG_DOWN;		
			// парсим буфер на наличие новой команды
			// при ее наличии вносим задачу в диспетчер	
			if(ua_cmd( &CmdBuff.First, sizeof( CmdBuff )) == 0)
			{}
				//setTask(Task_execCmd(&CmdBuff.First));
		}
	}

return 0;
}
Ejemplo n.º 3
0
void espUartTx(u08 Cmd, u08* Value, u08 Len){
	if espModuleIsNot()											//Нет модуля, ничего не делаем
		return;
	while(FIFO_SPACE(espTxBuf) < (Len+6)){						//Ждем пока буфер не освободится
		TaskManager();
		if espModuleIsNot(){									//Не удалось определить наличие модуля
			return;
		}
	}

	u08 FlagInt = SREG & SREG_I;
	cli();														//Формируется пакет
	FIFO_PUSH(espTxBuf, CMD_CLCK_PILOT1);
	FIFO_PUSH(espTxBuf, CMD_CLCK_PILOT2);
	FIFO_PUSH(espTxBuf, CMD_CLCK_PILOT1);
	FIFO_PUSH(espTxBuf, CMD_CLCK_PILOT2);
	FIFO_PUSH(espTxBuf, Len);
	while(Len){
		FIFO_PUSH(espTxBuf, *Value++);
		Len--;
	}
	FIFO_PUSH(espTxBuf, Cmd);
	epsTxStart();
	if (FlagInt)
		sei();
	espAttemptLinkSet();
	SetTimerTask(espTimeoutError, ESP_ERR_TIMEOUT);				//Таймаут ответа от модуля
}
Ejemplo n.º 4
0
int main()
{
	Initial();
    for(;;)
    {
        TaskManager();
        Counter++;
    }
	return 0;
}
Ejemplo n.º 5
0
//------ Помещает байт c в буфер передачи
unsigned char usart_putchar(char c){
	u08 storeInt = UCSR1B, Ret = USART_BUF_READY;				//Символ благополучно помещен в буфер
	
	while(usartTXbuf.len == RX_LEN_STR){						//Подождем пока буфер передачи освободится если он занят
		TaskManager();
	}
	usartTXIEdisable;											//Запретить прерывание от передатчика на время обработки
	usartTXbuf.buf[usartTXbuf.len++] = c;
	if TXIEisSet(storeInt)										//Если прерывания были разрешены то разрешить их снова
		usartTXIEnable;
	usartTXIEnable;												//Разрешается передача
	return Ret;
}
Ejemplo n.º 6
0
int main(void)
{
	InitRTOS();
	RunRTOS();
	initAll();
	wdt_enable(WDTO_120MS);
	RunTasks();
    while (1) 
    {
      wdt_reset();	// �בנמס סמבאק�ודמ עאילונא
      TaskManager();	// ��חמג הטסןועקונא
    }
}
Ejemplo n.º 7
0
//==============================================================================
int main(void)
{
    pinMode(led, OUTPUT);     

	InitAll();			// Инициализируем периферию
	InitRTOS();			// Инициализируем ядро
	RunRTOS();			// Старт ядра.

	// Запуск фоновых задач.
	SetTask(Task1);


	while(1) 		// Главный цикл диспетчера
	{
		wdt_reset();	// Сброс собачьего таймера
		TaskManager();	// Вызов диспетчера
	}

	return 0;
}
Ejemplo n.º 8
0
//==============================================================================
int main(void)
{
	InitAll();			// Инициализируем периферию
	
	/*for (short i = 0 ; i < 10 ; i++)
	{
		PM_OnPin(LED_RED);//зажигаем светодиод //LED_PORT  ^=1<<LED1;
		_delay_ms(100);
		PM_OffPin(LED_RED);//зажигаем светодиод //LED_PORT  ^=1<<LED1;
		_delay_ms(400);
	}*/
	pressedTime = 0;
    InitRTOS();			// Инициализируем ядро
    RunRTOS();			// Старт ядра. 
	SetTask(TaskScanButtons);	
	
    wdt_enable(WDTO_1S);
    while(1) 		// Главный цикл диспетчера
    {
        wdt_reset();	// Сброс собачьего таймера
        TaskManager();	// Вызов диспетчера
    }
    return 0;
}
Ejemplo n.º 9
0
 * @brief  クラス間のやり取りをするクラス
 *
 * @note 使用方法
	新しく登録する場合はTaskUnitBaseを継承している場合は
	勝手にコンストラクタで登録して、デストラクタが呼ばれると
	削除されるので特に意識せず使用可能。
	登録すると毎フレームUpdateとDrawUpdateが呼ばれる。

 */
/* ====================================================================== */

#include "SystemTaskManager.h"
#include "SystemTaskUnit.h"
#include "System/Draw2D/SystemDraw2DManager.h"

TaskManager *TaskManager::m_pInstance = NEW TaskManager();

TaskManagerBase::TaskManagerBase(void)
{
	m_vTaskUnit.clear();
}

TaskManagerBase::~TaskManagerBase(void)
{
	std::vector<TaskUnit*>::iterator it = m_vTaskUnit.begin();
	while(m_vTaskUnit.empty() == 0){
		//! 基本的にすべてのタスクは自分で削除するのでここで m_vTaskUnit.size()は0のはず
		TaskUnit *task = *it;
		DEBUG_PRINT("/_/_/解放し忘れタスクがあるよ : %s/_/_/\n",task->GetName().c_str());
		it = m_vTaskUnit.erase(it);
		SAFE_DELETE(task);