problema de compilación

HOla a todos:

estoy utilizando un ejemplo para obtener los valores unos sensores ds18b20, pero tengo errores de compilación, y lo que me muestra en la consola de errores no logro entender de que se trata.

este es el código:

#include <OneWire.h> //Se importan las librerías
#include <DallasTemperature.h>
 
#define Pin 2 //Se declara el pin donde se conectará la DATA
 
OneWire ourWire(Pin); //Se establece el pin declarado como bus para la comunicación OneWire
 
DallasTemperature sensors(&ourWire); //Se instancia la librería DallasTemperature
 
void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin(); //Se inician los sensores
}
 
void loop() {
sensors.requestTemperatures(); //Prepara el sensor para la lectura
 
Serial.print(sensors.getTempCByIndex(0)); //Se lee e imprime la temperatura en grados Celsius
Serial.println(" grados Centigrados");
Serial.print(sensors.getTempFByIndex(0)); //Se lee e imprime la temperatura en grados Fahrenheit
Serial.println(" grados Fahrenheit"); 
 
delay(1000); //Se provoca un lapso de 1 segundo antes de la próxima lectura
 
}

y este es el error

C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘bool DallasTemperature::validAddress(const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:75:41: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
return (_wire->crc8(deviceAddress, 7) == deviceAddress[7]);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:152:20: error: initializing argument 1 of ‘static uint8_t OneWire::crc8(uint8_t*, uint8_t)’ [-fpermissive]
static uint8_t crc8( uint8_t addr, uint8_t len);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function 'bool DallasTemperature::readScratchPad(const uint8_t
, uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:117:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘void DallasTemperature::writeScratchPad(const uint8_t*, const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:145:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:154:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘bool DallasTemperature::readPowerSupply(const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:169:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp: In member function ‘bool DallasTemperature::requestTemperaturesByAddress(const uint8_t*)’:
C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:324:32: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]
_wire->select(deviceAddress);
^
In file included from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.h:22:0,
from C:\Users\PC\Documents\Arduino\libraries\Arduino-Temperature-Control-Library-master\DallasTemperature.cpp:10:
C:\Users\PC\Documents\Arduino\libraries\OneWire/OneWire.h:104:10: error: initializing argument 1 of ‘void OneWire::select(uint8_t*)’ [-fpermissive]
void select( uint8_t rom[8]);
^
Error de compilación

está corrupta la librería Dallas?

gracias desde ya

Haciendo una búsqueda rápida del error, encontré esto Compilation error since all read-only input pointer parameters are marked as 'const' · Issue #17 · milesburton/Arduino-Temperature-Control-Library · GitHub

Donde llegan a la conclusión de que el error está provocado por no usar la última versión de la librería.

Hubo un cambio en las últimas versiones donde pasan de esto:

uint8_t OneWire::crc8( uint8_t *addr, uint8_t len)

a esto:

uint8_t OneWire::crc8(const uint8_t *addr, uint8_t len)

intenta actualizar a la última versión, también hablan de un conflicto al tener instalado el IDE versión 1.0.5