Orion IoT Code Repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.2 KiB

/* Any copyright is dedicated to the Public Domain. */
#include "sigma_delta.h"
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT); // blinkie & sigma-delta mix
uint32_t reqFreq = 1000;
uint32_t realFreq;
realFreq = sigmaDeltaSetup(0, reqFreq); // chose a low frequency
Serial.println();
Serial.println("Start Sigma Delta Example\n");
Serial.printf("Frequency = %u\n", realFreq);
}
void loop() {
uint8_t duty, iRepeat;
Serial.println("Attaching the built in led to the sigma delta source now\n");
Serial.printf("Current duty = %i, prescaler = %i\n", sigmaDeltaRead(), sigmaDeltaGetPrescaler());
sigmaDeltaAttachPin(LED_BUILTIN);
Serial.println("Dimming builtin led...\n");
for (iRepeat = 0; iRepeat < 10; iRepeat++) {
for (duty = 0; duty < 255; duty = duty + 5) {
sigmaDeltaWrite(0, duty);
delay(10);
}
for (duty = 255; duty > 0; duty = duty - 5) {
sigmaDeltaWrite(0, duty);
delay(10);
}
}
Serial.println("Detaching builtin led & playing a blinkie\n");
sigmaDeltaDetachPin(LED_BUILTIN);
for (iRepeat = 0; iRepeat < 20; iRepeat++) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
delay(500);
}
}