ETロボコンに参戦中のチーム「青大ロボコン研」のwikiです。

画面にセンサー値やモータ角度を表示する(列挙型(入力ポート))

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

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

Aodai02.c
/******************************************************************************
 * Aodai01.c 画面にセンサー値やモータ角度を表示する(マクロ定義(入力ポート))
 *****************************************************************************/ 
#include "kernel.h"
#include "kernel_id.h"
#include "ecrobot_interface.h"

/* マクロ定義 */
typedef enum InputPort {
	PORT_GYRO = NXT_PORT_S1, /* ジャイロセンサ用ポート : 1番 */
	PORT_SONAR = NXT_PORT_S2, /* 超音波センサ用ポート : 2番 */
	PORT_LIGHT = NXT_PORT_S3, /* 光センサ用ポート : 3番 */
	PORT_TOUCH = NXT_PORT_S4 /* タッチセンサ用ポート : 4番 */
} InputPort;

/* 初期処理 */
void ecrobot_device_initialize(void){
	ecrobot_init_sonar_sensor(PORT_SONAR);	/* 超音波センサI2C通信用に初期化する */
	ecrobot_set_light_sensor_active(PORT_LIGHT);	/* 光センサのLEDをON */
}
/* 終了処理 */
void ecrobot_device_terminate(void){
	ecrobot_term_sonar_sensor(PORT_SONAR);	/* 超音波センサI2C通信用設定を解除する */
	ecrobot_set_light_sensor_inactive(PORT_LIGHT);	/* 光センサのLEDをOFF */
}
void user_1ms_isr_type2(void){}

TASK(DisplayTask)
{
	while(1)
	{
  		ecrobot_status_monitor("Aodairoboconken");
		systick_wait_ms(500); /* 500ミリ秒待機する */
	}
}

Aodai02.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;
  };
};

このページへのコメント

JA83Ff Awesome post.Really looking forward to read more. Fantastic.

0
Posted by check it out 2014年01月21日(火) 00:00:23 返信

8o9uET Great blog post.Thanks Again. Really Cool.

0
Posted by check this out 2013年12月21日(土) 05:57:45 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます