Advertisement
Guest User

Untitled

a guest
Aug 28th, 2013
1,573
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.73 KB | None | 0 0
  1. From: Manuel Reimer <manuel.reimer@gmx.de>
  2. Date: Wed Aug 28 10:34:47 CEST 2013
  3.  
  4. Patch to add support for the Olinuxino IMX233 board
  5.  
  6. diff -U 4 -r a/API-config.mk b/API-config.mk
  7. --- a/API-config.mk 2013-07-24 10:01:03.000000000 +0200
  8. +++ b/API-config.mk 2013-08-27 22:05:05.181933631 +0200
  9. @@ -15,8 +15,9 @@
  10.  
  11.  #Define which Board you want:
  12.  BOARD := GNUBLIN
  13.  #BOARD := RASPBERRY_PI
  14. +#BOARD := OLINUXINO_IMX233
  15.  
  16.  #DO NOT EDIT BEYOND THIS LINE!
  17.  BOARDDEF := -DBOARD=$(BOARD)
  18.  
  19. diff -U 4 -r a/drivers/gpio.cpp b/drivers/gpio.cpp
  20. --- a/drivers/gpio.cpp  2013-07-24 10:01:03.000000000 +0200
  21. +++ b/drivers/gpio.cpp  2013-08-27 22:12:39.815271605 +0200
  22. @@ -92,9 +92,9 @@
  23.  * @param direction Richtung des Pins (OUTPUT, INPUT)
  24.  * @return Erfolg: 1, Fehler: -1
  25.  */
  26.  int gnublin_gpio::pinMode(int pin, std::string direction){
  27. -   #if (BOARD != RASPBERRY_PI)
  28. +   #if (BOARD == GNUBLIN)
  29.     if (pin == 4 && direction == "out"){
  30.         error_flag = true;
  31.         return -1;
  32.     }
  33. @@ -139,9 +139,9 @@
  34.  * @param value Wert auf den der Pin gesetzt werden soll (LOW, HIGH)
  35.  * @return Erfolg: 1, Fehler: -1
  36.  */
  37.  int gnublin_gpio::digitalWrite(int pin, int value){
  38. -   #if (BOARD != RASPBERRY_PI)
  39. +   #if (BOARD == GNUBLIN)
  40.     if (pin == 4){
  41.         error_flag = true;
  42.         return -1;
  43.     }
  44. diff -U 4 -r a/drivers/i2c.cpp b/drivers/i2c.cpp
  45. --- a/drivers/i2c.cpp   2013-07-24 10:01:03.000000000 +0200
  46. +++ b/drivers/i2c.cpp   2013-08-27 22:19:19.181942345 +0200
  47. @@ -11,9 +11,13 @@
  48.  * @~german
  49.  * @brief definiert das Standard i2c device "/dev/i2c-1"
  50.  *
  51.  */
  52. +#if BOARD == OLINUXINO_IMX233
  53. +#define DEFAULTDEVICE "/dev/i2c-0"
  54. +#else
  55.  #define DEFAULTDEVICE "/dev/i2c-1"
  56. +#endif
  57.  
  58.  //------------------Konstruktor------------------
  59.  /** @~english
  60.  * @brief initalizes the i2c bus. Sets the devicefile to "/dev/i2c-1"
  61. diff -U 4 -r a/drivers/spi.cpp b/drivers/spi.cpp
  62. --- a/drivers/spi.cpp   2013-07-24 10:01:03.000000000 +0200
  63. +++ b/drivers/spi.cpp   2013-08-27 22:16:16.861940485 +0200
  64. @@ -22,15 +22,19 @@
  65.  gnublin_spi::gnublin_spi(){
  66.     error_flag = false;
  67.     #if BOARD == RASPBERRY_PI
  68.     std::string device = "/dev/spidev0.0";
  69. +   #elif BOARD == OLINUXINO_IMX233
  70. +   std::string device = "/dev/spidev32766.1";
  71.     #else
  72.     std::string device = "/dev/spidev0.11";
  73.     #endif
  74.     fd = open(device.c_str(), O_RDWR);
  75.     if (fd < 0) {
  76.         #if BOARD == RASPBERRY_PI
  77.         system("modprobe spi-bcm2708");
  78. +       #elif BOARD == OLINUXINO_IMX233
  79. +       system("modprobe spidev");
  80.         #else
  81.         system("modprobe spidev cs_pin=11");
  82.         #endif
  83.         sleep(1);
  84. @@ -96,9 +100,13 @@
  85.  * @return 1 bei Erfolg, -1 im Fehlerfall
  86.  */
  87.  int gnublin_spi::setCS(int cs){
  88.     std::string cs_str = numberToString(cs);
  89. +   #if BOARD == OLINUXINO_IMX233
  90. +   std::string device = "/dev/spidev32766." + cs_str;
  91. +   #else
  92.     std::string device = "/dev/spidev0." + cs_str;
  93. +   #endif
  94.     fd = open(device.c_str(), O_RDWR);
  95.     if (fd < 0) {
  96.         #if (BOARD == RASPBERRY_PI)
  97.         std::string command = "modprobe spi-bcm2708 cs_pin=" + cs_str;
  98. diff -U 4 -r a/include/includes.h b/include/includes.h
  99. --- a/include/includes.h    2013-07-24 10:01:03.000000000 +0200
  100. +++ b/include/includes.h    2013-08-27 22:23:01.591944618 +0200
  101. @@ -52,8 +52,9 @@
  102.  
  103.  //BOARDS
  104.  #define GNUBLIN 1
  105.  #define RASPBERRY_PI 2
  106. +#define OLINUXINO_IMX233 3
  107.  
  108.  #define OUTPUT     "out"
  109.  #define INPUT  "in"
  110.  #define LOW    0
  111. diff -U 4 -r a/modules/module_dogm.cpp b/modules/module_dogm.cpp
  112. --- a/modules/module_dogm.cpp   2013-07-24 10:01:03.000000000 +0200
  113. +++ b/modules/module_dogm.cpp   2013-08-27 22:18:02.215274895 +0200
  114. @@ -25,8 +25,10 @@
  115.  gnublin_module_dogm::gnublin_module_dogm(){
  116.  
  117.  #if (BOARD == RASPBERRY_PI)
  118.     rs_pin = 4;
  119. +#elif BOARD == OLINUXINO_IMX233
  120. +   rs_pin = 32; // Pin 1 on GPIO header of OLINUXINO MAXI
  121.  #else
  122.     rs_pin = 14;
  123.  #endif
  124.     gpio.pinMode(rs_pin, OUTPUT);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement