Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From: Manuel Reimer <manuel.reimer@gmx.de>
- Date: Wed Aug 28 10:34:47 CEST 2013
- Patch to add support for the Olinuxino IMX233 board
- diff -U 4 -r a/API-config.mk b/API-config.mk
- --- a/API-config.mk 2013-07-24 10:01:03.000000000 +0200
- +++ b/API-config.mk 2013-08-27 22:05:05.181933631 +0200
- @@ -15,8 +15,9 @@
- #Define which Board you want:
- BOARD := GNUBLIN
- #BOARD := RASPBERRY_PI
- +#BOARD := OLINUXINO_IMX233
- #DO NOT EDIT BEYOND THIS LINE!
- BOARDDEF := -DBOARD=$(BOARD)
- diff -U 4 -r a/drivers/gpio.cpp b/drivers/gpio.cpp
- --- a/drivers/gpio.cpp 2013-07-24 10:01:03.000000000 +0200
- +++ b/drivers/gpio.cpp 2013-08-27 22:12:39.815271605 +0200
- @@ -92,9 +92,9 @@
- * @param direction Richtung des Pins (OUTPUT, INPUT)
- * @return Erfolg: 1, Fehler: -1
- */
- int gnublin_gpio::pinMode(int pin, std::string direction){
- - #if (BOARD != RASPBERRY_PI)
- + #if (BOARD == GNUBLIN)
- if (pin == 4 && direction == "out"){
- error_flag = true;
- return -1;
- }
- @@ -139,9 +139,9 @@
- * @param value Wert auf den der Pin gesetzt werden soll (LOW, HIGH)
- * @return Erfolg: 1, Fehler: -1
- */
- int gnublin_gpio::digitalWrite(int pin, int value){
- - #if (BOARD != RASPBERRY_PI)
- + #if (BOARD == GNUBLIN)
- if (pin == 4){
- error_flag = true;
- return -1;
- }
- diff -U 4 -r a/drivers/i2c.cpp b/drivers/i2c.cpp
- --- a/drivers/i2c.cpp 2013-07-24 10:01:03.000000000 +0200
- +++ b/drivers/i2c.cpp 2013-08-27 22:19:19.181942345 +0200
- @@ -11,9 +11,13 @@
- * @~german
- * @brief definiert das Standard i2c device "/dev/i2c-1"
- *
- */
- +#if BOARD == OLINUXINO_IMX233
- +#define DEFAULTDEVICE "/dev/i2c-0"
- +#else
- #define DEFAULTDEVICE "/dev/i2c-1"
- +#endif
- //------------------Konstruktor------------------
- /** @~english
- * @brief initalizes the i2c bus. Sets the devicefile to "/dev/i2c-1"
- diff -U 4 -r a/drivers/spi.cpp b/drivers/spi.cpp
- --- a/drivers/spi.cpp 2013-07-24 10:01:03.000000000 +0200
- +++ b/drivers/spi.cpp 2013-08-27 22:16:16.861940485 +0200
- @@ -22,15 +22,19 @@
- gnublin_spi::gnublin_spi(){
- error_flag = false;
- #if BOARD == RASPBERRY_PI
- std::string device = "/dev/spidev0.0";
- + #elif BOARD == OLINUXINO_IMX233
- + std::string device = "/dev/spidev32766.1";
- #else
- std::string device = "/dev/spidev0.11";
- #endif
- fd = open(device.c_str(), O_RDWR);
- if (fd < 0) {
- #if BOARD == RASPBERRY_PI
- system("modprobe spi-bcm2708");
- + #elif BOARD == OLINUXINO_IMX233
- + system("modprobe spidev");
- #else
- system("modprobe spidev cs_pin=11");
- #endif
- sleep(1);
- @@ -96,9 +100,13 @@
- * @return 1 bei Erfolg, -1 im Fehlerfall
- */
- int gnublin_spi::setCS(int cs){
- std::string cs_str = numberToString(cs);
- + #if BOARD == OLINUXINO_IMX233
- + std::string device = "/dev/spidev32766." + cs_str;
- + #else
- std::string device = "/dev/spidev0." + cs_str;
- + #endif
- fd = open(device.c_str(), O_RDWR);
- if (fd < 0) {
- #if (BOARD == RASPBERRY_PI)
- std::string command = "modprobe spi-bcm2708 cs_pin=" + cs_str;
- diff -U 4 -r a/include/includes.h b/include/includes.h
- --- a/include/includes.h 2013-07-24 10:01:03.000000000 +0200
- +++ b/include/includes.h 2013-08-27 22:23:01.591944618 +0200
- @@ -52,8 +52,9 @@
- //BOARDS
- #define GNUBLIN 1
- #define RASPBERRY_PI 2
- +#define OLINUXINO_IMX233 3
- #define OUTPUT "out"
- #define INPUT "in"
- #define LOW 0
- diff -U 4 -r a/modules/module_dogm.cpp b/modules/module_dogm.cpp
- --- a/modules/module_dogm.cpp 2013-07-24 10:01:03.000000000 +0200
- +++ b/modules/module_dogm.cpp 2013-08-27 22:18:02.215274895 +0200
- @@ -25,8 +25,10 @@
- gnublin_module_dogm::gnublin_module_dogm(){
- #if (BOARD == RASPBERRY_PI)
- rs_pin = 4;
- +#elif BOARD == OLINUXINO_IMX233
- + rs_pin = 32; // Pin 1 on GPIO header of OLINUXINO MAXI
- #else
- rs_pin = 14;
- #endif
- gpio.pinMode(rs_pin, OUTPUT);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement