Compilation problems with Thermocouples- MAX31855

Currently, I test the new Ultratronics V1.0 (Due based) from Reprapworld.
The board is working fine with a Marlin Kimbra : 3 Axis, 3 Extruder with Thermocouples (Max31855), Heated Bed, Fan... The machine already print several parts, everything works perfectly.
I would like to switch to Repetier 0.92.8 because some commands are missing or less good in Marlin.

I modified the pins.h following the pins.h of Marlin and try to setup Extruders for reading Thermocouple.
When I set  : #define EXT0_TEMPSENSOR_TYPE 102 (the MAX31855)

I get that compilation error messages :
In file included from sketch\Repetier.h:476:0,
from sketch\Extruder.cpp:22:
sketch\Extruder.cpp: In static member function 'static void Extruder::initExtruder()':
HAL.h:165: error: 'DIOSS_PORT' was not declared in this scope
 #define  _WRITE(port, v)   do { if (v) {DIO ##  port ## _PORT -> PIO_SODR = DIO ## port ## _PIN; } else {DIO ##  port ## _PORT->PIO_CODR = DIO ## port ## _PIN; }; } while (0)
                                         ^
sketch\HAL.h:166:22: note: in expansion of macro '_WRITE'
 #define WRITE(pin,v) _WRITE(pin,v)
                      ^
sketch\Extruder.cpp:538:13: note: in expansion of macro 'WRITE'
             WRITE(SS, HIGH);
             ^
HAL.h:165: error: 'DIOSS_PIN' was not declared in this scope
 #define  _WRITE(port, v)   do { if (v) {DIO ##  port ## _PORT -> PIO_SODR = DIO ## port ## _PIN; } else {DIO ##  port ## _PORT->PIO_CODR = DIO ## port ## _PIN; }; } while (0)
                                                                             ^
sketch\HAL.h:166:22: note: in expansion of macro '_WRITE'
 #define WRITE(pin,v) _WRITE(pin,v)
                      ^
sketch\Extruder.cpp:538:13: note: in expansion of macro 'WRITE'
             WRITE(SS, HIGH);
             ^
HAL.h:165: error: 'DIOSS_PORT' was not declared in this scope
 #define  _WRITE(port, v)   do { if (v) {DIO ##  port ## _PORT -> PIO_SODR = DIO ## port ## _PIN; } else {DIO ##  port ## _PORT->PIO_CODR = DIO ## port ## _PIN; }; } while (0)
                                                                                                          ^
sketch\HAL.h:166:22: note: in expansion of macro '_WRITE'
 #define WRITE(pin,v) _WRITE(pin,v)
                      ^
sketch\Extruder.cpp:538:13: note: in expansion of macro 'WRITE'
             WRITE(SS, HIGH);
             ^
HAL.h:165: error: 'DIOSS_PIN' was not declared in this scope
 #define  _WRITE(port, v)   do { if (v) {DIO ##  port ## _PORT -> PIO_SODR = DIO ## port ## _PIN; } else {DIO ##  port ## _PORT->PIO_CODR = DIO ## port ## _PIN; }; } while (0)
                                                                                                                                            ^
sketch\HAL.h:166:22: note: in expansion of macro '_WRITE'
 #define WRITE(pin,v) _WRITE(pin,v)
                      ^
sketch\Extruder.cpp:538:13: note: in expansion of macro 'WRITE'
             WRITE(SS, HIGH);
             ^
exit status 1
'DIOSS_PORT' was not declared in this scope

To be frank, as there are different #define variables in Marlin and Repetier, I am not sure the pin mapping is perfectly correct.
The guy of Reprapworld who developed the Ultratronics knows well Marlin but is not familiar with Repetier and have some difficulties to help me.

Do you have any ideas on which way I could search ?

Thanks


Current Configuration :
-Arduino 1.6.7 on Windows 7
-Ultratronics V1.0
-Delta, 3 Axis, 3 Extruders with Thermocouples, 1 Heated Bed with Thermistor, No screen, No SD, No EEPROM

Comments

  • DIOSS_PORT comes from DIS + SS + _PORT where SS should be replaced by a pin number. So in this case SS is defined. I think SS is slave select pin for the chip.
  • When I tried to use a Thermocouple on TC0, declaring:

    in Configuration.h:

    #define EXT0_TEMPSENSOR_TYPE 102
    #define EXT0_TEMPSENSOR_PIN THERMOCOUPLE_0_PIN

    and pin.h:

    #define THERMOCOUPLE_0_PIN  65

    I receive this error:


    Arduino:1.6.8 (Mac OS X), Board:"Arduino Due (Programming Port)"

    sketch/Extruder.cpp: In static member function 'static void Extruder::initExtruder()':
    Extruder.cpp:596: error: 'analogStart' is not a member of 'HAL'
         HAL::analogStart();
         ^
    exit status 1
    'analogStart' is not a member of 'HAL'

    Adding a commento before HAL::analogStart() obviously compiles.

    Any idea on how to resolve this issue?

  • Reason is you have no analog inputs left. I fixed the problem in the current development version. There it should compile now.
  • Reason is you have no analog inputs left. I fixed the problem in the current development version. There it should compile now.
    Thanks. It's now working.

Sign In or Register to comment.