Skip to content

Commit a0d3250

Browse files
committed
ext temp
1 parent d5602a3 commit a0d3250

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

src/Arduino_ScienceKitCarrier.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -651,6 +651,52 @@ bool ScienceKitCarrier::getUltrasonicIsConnected(){
651651
return ultrasonic_is_connected;
652652
}
653653

654+
/********************************************************************/
655+
/* External Temperature Probe */
656+
/********************************************************************/
657+
658+
int ScienceKitCarrier::beginExternalTemperature(){
659+
660+
}
661+
662+
void ScienceKitCarrier::updateExternalTemperature(){
663+
float temperature;
664+
DSTherm drv(ow);
665+
drv.convertTempAll(DSTherm::MAX_CONV_TIME, false);
666+
667+
static Placeholder<DSTherm::Scratchpad> scrpd;
668+
669+
OneWireNg::ErrorCode ec = drv.readScratchpadSingle(scrpd);
670+
if (ec == OneWireNg::EC_SUCCESS) {
671+
if (scrpd->getAddr()!=15){
672+
external_temperature_is_connected=false;
673+
}
674+
else{
675+
long temp = scrpd->getTemp();
676+
int sign=1;
677+
if (temp < 0) {
678+
temp = -temp;
679+
sign=-1;
680+
}
681+
temperature = (temp/1000)+(temp%1000)*0.001;
682+
external_temperature = sign*temperature;
683+
external_temperature_is_connected=true;
684+
}
685+
}
686+
}
687+
688+
float ScienceKitCarrier::getExternalTemperature(){
689+
690+
}
691+
692+
bool ScienceKitCarrier::getExternalTemperatureIsConnected(){
693+
694+
}
695+
696+
void ScienceKitCarrier::threadExternalTemperature(){
697+
698+
}
699+
654700

655701

656702

src/Arduino_ScienceKitCarrier.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@
3131
#include "Arduino_BMI270_BMM150.h"
3232
#include "Arduino_GroveI2C_Ultrasonic.h"
3333

34+
#include "OneWireNg_CurrentPlatform.h"
35+
#include "drivers/DSTherm.h"
36+
#include "utils/Placeholder.h"
37+
38+
3439
#include "./utils/function_generator_controller.h"
3540
#include "./utils/Arduino_ScienceKitCarrier_definitions.h"
3641

@@ -69,8 +74,12 @@ class ScienceKitCarrier{
6974
bool ultrasonic_is_connected;
7075

7176

77+
bool external_temperature_is_connected;
78+
float external_temperature;
79+
7280
rtos::Thread * thread_activity_led;
7381
rtos::Thread * thread_update_bme;
82+
rtos::Thread * thread_external_temperature;
7483

7584
uint8_t activity_led_state;
7685

@@ -181,6 +190,15 @@ class ScienceKitCarrier{
181190
float getTravelTime(); // microseconds
182191
bool getUltrasonicIsConnected();
183192

193+
194+
195+
/* External temperature probe - dallas */
196+
int beginExternalTemperature();
197+
void updateExternalTemperature();
198+
float getExternalTemperature(); // celsius
199+
bool getExternalTemperatureIsConnected();
200+
void threadExternalTemperature();
201+
184202
};
185203

186204

src/utils/Arduino_ScienceKitCarrier_definitions.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ const uint16_t MAXIMUM_AMPS{1}; // 1A
4444
// Bme688
4545
#define BME688_CS 10
4646

47+
// External temperature
48+
#define OW_PIN p26
49+
4750
// Errors
4851
#define ERR_BEGIN_APDS -3
4952
#define ERR_BEGIN_INA -4

0 commit comments

Comments
 (0)