青大ロボコン研 「非」難所wiki - Sample00

センサー値やモータ角度を表示する

ファイル

Makefile
# Target specific macros
NXTOSEK_ROOT = /nxtOSEK
TARGET = Aodai00
TARGET_SOURCES = Aodai00.c
TOPPERS_OSEK_OIL_SOURCE = ./Aodai00.oil

# Don't modify below part
O_PATH ?= build
include $(NXTOSEK_ROOT)/ecrobot/ecrobot.mak

Aodai00.c
/******************************************************************************
 * Aodai00.c 画面にセンサー値やモータ角度を表示する
 *****************************************************************************/ 
#include "kernel.h"
#include "kernel_id.h"
#include "ecrobot_interface.h"

void ecrobot_device_initialize(void){}
void ecrobot_device_terminate(void){}
void user_1ms_isr_type2(void){}

TASK(DisplayTask)
{
	while(1)
	{
  		ecrobot_status_monitor("Aodairoboconken"); /* 画面にセンサー値やモータ角度を表示する */
		systick_wait_ms(500); /* 500ミリ秒待機する */
	}
}


Aodai.oil
#include "implementation.oil"

CPU ATMEL_AT91SAM7S256
{
  OS LEJOS_OSEK
  {
    STATUS = EXTENDED;
    STARTUPHOOK = FALSE;
    ERRORHOOK = FALSE;
    SHUTDOWNHOOK = FALSE;
    PRETASKHOOK = FALSE;
    POSTTASKHOOK = FALSE;
    USEGETSERVICEID = FALSE;
    USEPARAMETERACCESS = FALSE;
    USERESSCHEDULER = FALSE;
  };

  APPMODE appmode1{}; 

  TASK DisplayTask
  {
    AUTOSTART = TRUE
    {
      APPMODE = appmode1;
    };
    PRIORITY = 1;
    ACTIVATION = 1;
    SCHEDULE = FULL;
    STACKSIZE = 512;
  };
};

操作

  • 3つのファイルを保存したフォルダへ移動する
例)C:\cygwin\nxtOSEK\samples_c\Aodai\Aodai00に3つのファイルを保存した場合
cd /nxtOSEK/samples_c/Aodai/Aodai00
  • ビルドする
make clean all
  • PCと走行体をUSBケーブルで接続して、NXTの電源をON
  • 走行体へアップロードする
sh ./rxeflash.sh

動作確認

  • My Files -> Software files -> Aodai00 -> Aodai00 Runを選択
  • Runする