Field Data Aquision Unit
Development
 
&counter([total|today|yesterday]); - 0 - 0 - 16
 



おしらせ

TODO

TOPPERSアプリケーションの作り方

FDAUアプリケーション

ファイル一覧

ファイル名内容
adc.hadc.cのヘッダ
adc.cADC制御関数
eeprom.heeprom.cのヘッダ
eeprom.cEEPROM制御関数
fdau.cfgfdau.cのコンフィギュレーション
fdau.hfdau.cのヘッダ
fdau.cFDAU全体の制御
fdau_cons.cfgfdau_cons.cのコンフィギュレーション
fdau_cons.hfdau_cons.cのヘッダ
fdau_cons.cコマンドインタプリタ
fdml.cfgfdml.cのコンフィギュレーション
fdml.hfdml.cのヘッダ
fdml.cFDML変換、送信タスク
route_cfg.cルーティング処理
rtc.hrtc.cのヘッダ
rtc.cRTC制御関数

定数一覧

定数名内容
FDAU_PRIHIGH9FDAU優先度高
FDAU_PRIMID10FDAU優先度中
FDAU_PRILOW11FDAU優先度低
FDAU_STACKSIZE1024FDAUスタックサイズ
FDAU_AVG_N3平均回数
RAM_VER0x218000リングバッファバージョン
RAM_DSIZE0x218001要素のサイズ
RAM_TOP0x218002リングバッファTOPポインタ
RAM_BOTTOM0x218004リングバッファBOTTOMポインタ
RAM_START0x218010リングバッファの先頭
RAM_END0x21fffffリングバッファの最後
FDML_PRIMID5FDML優先度中
RTC_ADRS0x600000RTCのベースアドレス

グローバル変数

変数名ファイル名内容

タスク分割

タスク名優先度ファイル起動条件内容
fdau_rtc_task10fdau.c常時ループRTCを読んで、各タスクを起動する
fdau_sampling_task11fdau.cfdau_rtc_taskサンプリングタスク(移動平均SAMPLING_AVR_N回)
fdau_logging_task11fdau.cfdau_rtc_taskログタスク(固定RAM領域のリングバッファ)
fdau_send_task11fdau.cfdau_rtc_taskFDML送信タスク
fdml_client_task5fdml.cfdau_sampling_task, fdau_send_taskFDMLクライアントタスク
fdml_send_task5fdml.cデータキューFDAML変換、HTML化、TCPコネクト、TCP送信
fdml_recv_task5fdml.cfdml_client_taskHTTPレスポンス処理
fdau_cons_task9fdau.cシリアル入力FDAUタスク(メイン&コンソール)

fdau_rtc_task

fdau_sampling_task

fdau_logging_task

fdau_send_task

fdml_client_task

fdml_send_task

fdml_recv_task

fdau_cons_task

タスク間通信と同期

ID内容取得開放
SEM_RAMリングバッファのセマフォアクセス前アクセス後

汎用関数

A/D変換器制御(adc.h, adc.c)
ER adc_init(void);A/D変換器初期化
ER adc_get(UB ch, UH *dat);A/D変換値を取得
EEPROM関数 (eeprom.h, eeprom.c)
ER eeprom_init(void);EEPROM I/Fの初期化
ER eeprom_gets(UINT adr, UB *dat, UINT len);文字列取得
ER eeprom_puts(UINT adr, UB *dat, UINT len);文字列書込み
RTC制御 (rtc.h, rtc.c)
ER rtc_init(void);RTC I/F初期化
ER rtc_set(struct tm *p_tm);RTCに時刻を設定
ER rtc_get(strust tm *p_tm);RTCから時刻を取得
tinet/netapp
UB *skip_blanks (UB *line);
int cons_getline (UB *line, int size);
char *get_int (int *val, UB *line);
char *get_xuint (unsigned int *val, UB *line);
void cons_putchar (ID portid, char ch);
int cons_putnumber(ID portid, ULONGEST val, int radix, const char *radchar, int width, BOOL minus, char padchar);
void cons_printf (ID portid, const char *fmt, ...);
int put_macaddr (ID portid, char *mac, int width);
int put_ipv4addr (ID portid, ULONGEST *addr, int width);

EEPROMマップ

定数アドレス容量内容デフォルト定数デフォルト値
システム定数 3bytes
ROM_VER0x00001バージョンチェックROM_VER_DATA0x10
ROM_ADC_N0x00011ADCチャンネル数FDAU_ADC_MAX8
ROM_IO_N0x00021I/Oチャンネル数FDAU_IO_MAX8
HTTPヘッダ定数 70bytes
ROM_HT_SCRIPT0x000432HTTPスクリプトFDAU_DEF_HT_SCRIPT"/cgi-bin/log/pl"
ROM_HT_VER0x00--0HTTPバージョンFDAU_DEF_HT_VER"HTTP/1.0"
ROM_HT_BOUNDARY0x00--0HTTPバウンダリFDAU_DEF_HT_BOUNDARY"7d126a16201ea"
ROM_HT_HOST0x00244ホストIPアドレスFDAU_DEF_HT_HOST"192.168.1.101"
ROM_HT_PORT0x00282ホストポートFDAU_DEF_HT_PORT8080
ROM_HT_PRIORITY0x002a8HTTP優先度FDAU_DEF_HT_PRIORITY"high"
ROM_HT_AUTH_EXT0x00328HTTP認証モードFDAU_DEF_HT_AUTH_EXT"basic"
ROM_HT_AUTH0x003a16HTTP認証FDAU_DEF_HT_AUTH"DTU"
FDMLヘッダ定数 24bytes
ROM_FD_SYSTEMID0x00508システムIDFDAU_DEF_FD_SYSTEMID"DTU"
ROM_FD_GROUP0x00588グループIDFDAU_DEF_FD_GROUP"10561"
ROM_FD_VER0x00608FDMLバージョンFDAU_DEF_FD_VER"1.0.2"
ADCチャンネル定義(FDAU_ADC_MAX個必要) 39bytes x 8 = 312bytes
ROM_ADC_NAME*0x00688チャンネル名称FDAU_DEF_ADC_NAMEV*
ROM_ADC_TYPE*0x00--1データの型FDAU_DEF_ADC_ATTR2 (double)
ROM_ADC_UNIT*0x00--8単位FDAU_DEF_ADC_UNITV
ROM_ADC_MAX*0x00--4データの最大値FDAU_DEF_ADC_MAX5.0
ROM_ADC_MIN*0x00--4データの最小値FDAU_DEF_ADC_MIN0.0
ROM_ADC_A2*0x00--0データ関数のa2FDAU_DEF_ADC_A20.0
ROM_ADC_A1*0x00--4データ関数のa1FDAU_DEF_ADC_A10.0000762939453125
ROM_ADC_A0*0x00--2データ関数のa0FDAU_DEF_ADC_A00 
ROM_ADC_EV*0x00--0イベント定義FDAU_DEF_ADC_ATTR0
ROM_ADC_HIGH*0x00--4イベントの上限値FDAU_DEF_ADC_HIGH3.0
ROM_ADC_LOW*0x00--4イベントの下限値FDAU_DEF_ADC_LOW2.0
IOチャンネル定義(FDAU_IO_MAX個必要) 9bytes x 8 = 72bytes
ROM_IO_NAME*0x01a08チャンネルの名称FDAU_DEF_IO_NAMEIN*
ROM_IO_TYPE*0x0---1データの型FDAU_DEF_IO_ATTR0 (continue
ROM_IO_INV*0x0---0論理反転FDAU_DEF_IO_ATTR0
ROM_IO_EV*0x0---0イベント定義FDAU_DEF_IO_ATTR0
時間定義 12bytes
ROM_ITV_SAMPLE0x0---0サンプリング間隔FDAU_DEF_ITV_SAMPLE1
ROM_ITV_LOG0x01e84ログ間隔FDAU_DEF_ITV_LOG10
ROM_ITV_SEND0x01ec4送信間隔FDAU_DEF_ITV_SEND60
ROM_ITV_RETRY0x01f04リトライ間隔FDAU_DEF_ITV_RETRY180
ネットワーク定義 12bytes
ROM_NET_IP0x01f44IPアドレスFDAU_DEF_IP"192.168.1.102"
ROM_NET_MASK0x01f84ネットマスクFDAU_DEF_MASK"255.255.255.0"
ROM_NET_GW0x01fc4ゲートウェイFDAU_DEF_GW"192.168.1.1

TOPPERSのポーティング


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS