2009-12-18 18 views
8

回過頭來,我收到了LEGO Mindstorms NXT聖誕節套裝,現在我想用C++進行編程。用於編程樂高NXT的C++ OOP庫

我環顧四周,在這裏和其他地方,找不到一個跨平臺,開放源代碼的OOP C++庫,「感覺很好」,包括lestat和nxtOSEK。

所以,我決定,除非我能找到一個我喜歡的人,否則寫一個我自己的圖書館對我來說是一次很好的學習經歷。

我已經做了一些研究,並決定通過藍牙與它進行通信最簡單,而不是將我的程序編譯到NXT機器代碼。

我也想這樣做的OOP風格,這意味着NXT磚,電機,傳感器等將作爲對象存在。

所以,我的問題是:在開始這個之前我需要知道些什麼?我在哪裏可以得到很好的參考資料(除了這裏,還有特定的NXT)?藍牙通信等其他體面的「基礎」庫有哪些?

*我都是使用boost和STL,如果有必要的話。另外,如果我不需要,我相信不會重新發明輪子,所以如果有一個體面的C++ OOP藍牙通信NXT庫在那裏,讓我知道!

回答

3

我已經看過以前這樣做過。

開始看這裏:http://bricxcc.sourceforge.net/

在此頁面,您可以下載它的源代碼。我最終做的是將我的C源代碼編譯成NXT磚塊可以理解的字節代碼。

這讓我有些自定義擴展添加到C雖然我沒有。如果你想使用一個花了很多的時間編譯C下降到字節代碼的足夠緊湊,形式融入NXT的內存:)

現有的C實現然後檢查出這張圖表:http://www.teamhassenplug.org/NXT/NXTSoftware.html

有關NBC(下一個字節代碼)的列表以此頁開始。我發現它非常有幫助。

http://bricxcc.sourceforge.net/nbc/

1

我用這一個,我不知道你是否已經簽出或不:

http://www.norgesgade14.dk/bluetoothlibrary.php

該庫提供了通過藍牙連接讀取各種傳感器數據的支持並支持控制電機。

此外,庫可以很容易地修改,我發現很容易重新配置它。

1

去年我遇到了這個線程,同時使用C++來控制機器人手臂。我使用了2塊NXT磚塊和5臺電機。

你可以找到原來的NXT ++ 0。6庫在這裏:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
很遺憾,這個網站並沒有被更新。

我分叉了新版本NXT ++ 0.7一些修復,並支持多種磚,通過USB或藍牙: https://github.com/dbworth/nxt-plus-plus
詳見自述文件。

另一個用戶,彼得,增加了支持以NXT ++ 0.6-2爲HiTechnic公司傳感器多路複用器和樂高顏色傳感器:
http://wmii.uwm.edu.pl/~artem/downloads.html

問候,
大衛。