kopia lustrzana https://github.com/pimoroni/pimoroni-pico
Porównaj commity
5 Commity
ecc3df7528
...
8cf276b992
Autor | SHA1 | Data |
---|---|---|
Phil Howard | 8cf276b992 | |
Philip Howard | f1ea35fbbf | |
Philip Howard | c066325ca0 | |
Phil Howard | 964cf5eedf | |
Phil Howard | 5dd76ed31b |
|
@ -47,8 +47,9 @@ namespace pimoroni {
|
||||||
return !(sr.read() & 128);
|
return !(sr.read() & 128);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inky73::busy_wait() {
|
void Inky73::busy_wait(uint timeout_ms) {
|
||||||
while(is_busy()) {
|
absolute_time_t timeout = make_timeout_time_ms(timeout_ms);
|
||||||
|
while(is_busy() && !time_reached(timeout)) {
|
||||||
tight_loop_contents();
|
tight_loop_contents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ namespace pimoroni {
|
||||||
// Methods
|
// Methods
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
public:
|
public:
|
||||||
void busy_wait();
|
void busy_wait(uint timeout_ms=45000);
|
||||||
void reset();
|
void reset();
|
||||||
void power_off();
|
void power_off();
|
||||||
|
|
||||||
|
|
|
@ -494,11 +494,14 @@ namespace pimoroni {
|
||||||
void CosmicUnicorn::set_brightness(float value) {
|
void CosmicUnicorn::set_brightness(float value) {
|
||||||
value = value < 0.0f ? 0.0f : value;
|
value = value < 0.0f ? 0.0f : value;
|
||||||
value = value > 1.0f ? 1.0f : value;
|
value = value > 1.0f ? 1.0f : value;
|
||||||
|
// Max brightness is - in fact - 256 since it's applied with:
|
||||||
|
// result = (channel * brightness) >> 8
|
||||||
|
// eg: (255 * 256) >> 8 == 255
|
||||||
this->brightness = floor(value * 256.0f);
|
this->brightness = floor(value * 256.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
float CosmicUnicorn::get_brightness() {
|
float CosmicUnicorn::get_brightness() {
|
||||||
return this->brightness / 255.0f;
|
return this->brightness / 256.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CosmicUnicorn::adjust_brightness(float delta) {
|
void CosmicUnicorn::adjust_brightness(float delta) {
|
||||||
|
|
|
@ -488,11 +488,14 @@ namespace pimoroni {
|
||||||
void GalacticUnicorn::set_brightness(float value) {
|
void GalacticUnicorn::set_brightness(float value) {
|
||||||
value = value < 0.0f ? 0.0f : value;
|
value = value < 0.0f ? 0.0f : value;
|
||||||
value = value > 1.0f ? 1.0f : value;
|
value = value > 1.0f ? 1.0f : value;
|
||||||
|
// Max brightness is - in fact - 256 since it's applied with:
|
||||||
|
// result = (channel * brightness) >> 8
|
||||||
|
// eg: (255 * 256) >> 8 == 255
|
||||||
this->brightness = floor(value * 256.0f);
|
this->brightness = floor(value * 256.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
float GalacticUnicorn::get_brightness() {
|
float GalacticUnicorn::get_brightness() {
|
||||||
return this->brightness / 255.0f;
|
return this->brightness / 256.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GalacticUnicorn::adjust_brightness(float delta) {
|
void GalacticUnicorn::adjust_brightness(float delta) {
|
||||||
|
|
|
@ -485,11 +485,14 @@ namespace pimoroni {
|
||||||
void StellarUnicorn::set_brightness(float value) {
|
void StellarUnicorn::set_brightness(float value) {
|
||||||
value = value < 0.0f ? 0.0f : value;
|
value = value < 0.0f ? 0.0f : value;
|
||||||
value = value > 1.0f ? 1.0f : value;
|
value = value > 1.0f ? 1.0f : value;
|
||||||
|
// Max brightness is - in fact - 256 since it's applied with:
|
||||||
|
// result = (channel * brightness) >> 8
|
||||||
|
// eg: (255 * 256) >> 8 == 255
|
||||||
this->brightness = floor(value * 256.0f);
|
this->brightness = floor(value * 256.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
float StellarUnicorn::get_brightness() {
|
float StellarUnicorn::get_brightness() {
|
||||||
return this->brightness / 255.0f;
|
return this->brightness / 256.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StellarUnicorn::adjust_brightness(float delta) {
|
void StellarUnicorn::adjust_brightness(float delta) {
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
import time
|
||||||
|
from machine import Pin
|
||||||
|
from pimoroni_i2c import PimoroniI2C
|
||||||
|
from breakout_ltr559 import BreakoutLTR559
|
||||||
|
|
||||||
|
PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5}
|
||||||
|
PINS_PICO_EXPLORER = {"sda": 20, "scl": 21}
|
||||||
|
PIN_INTERRUPT = 22 # 3 for Breakout Garden
|
||||||
|
|
||||||
|
i2c = PimoroniI2C(**PINS_PICO_EXPLORER)
|
||||||
|
ltr = BreakoutLTR559(i2c, interrupt=PIN_INTERRUPT)
|
||||||
|
interrupt = Pin(PIN_INTERRUPT, Pin.IN, Pin.PULL_DOWN)
|
||||||
|
|
||||||
|
ltr.light_threshold(0, 10) # COUNTS, NOT LUX!!!
|
||||||
|
ltr.proximity_threshold(0, 10)
|
||||||
|
|
||||||
|
|
||||||
|
def read(pin):
|
||||||
|
reading = ltr.get_reading()
|
||||||
|
if reading is not None:
|
||||||
|
print("T: ", time.ticks_ms(), " Lux: ", reading[BreakoutLTR559.LUX], " Prox: ", reading[BreakoutLTR559.PROXIMITY])
|
||||||
|
|
||||||
|
|
||||||
|
interrupt.irq(trigger=Pin.IRQ_RISING, handler=read)
|
||||||
|
|
||||||
|
part_id = ltr.part_id()
|
||||||
|
print("Found LTR559. Part ID: 0x", '{:02x}'.format(part_id), sep="")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
pass
|
Ładowanie…
Reference in New Issue