diff --git a/html/AES128_8cpp_source.html b/html/AES128_8cpp_source.html new file mode 100644 index 00000000..ba3576e4 --- /dev/null +++ b/html/AES128_8cpp_source.html @@ -0,0 +1,183 @@ + + +
+ + + +|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/AES192_8cpp_source.html b/html/AES192_8cpp_source.html
new file mode 100644
index 00000000..3195b686
--- /dev/null
+++ b/html/AES192_8cpp_source.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/AES256_8cpp_source.html b/html/AES256_8cpp_source.html
new file mode 100644
index 00000000..b74e6209
--- /dev/null
+++ b/html/AES256_8cpp_source.html
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/AESCommon_8cpp_source.html b/html/AESCommon_8cpp_source.html
new file mode 100644
index 00000000..0cea2abd
--- /dev/null
+++ b/html/AESCommon_8cpp_source.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/AES_8h_source.html b/html/AES_8h_source.html
new file mode 100644
index 00000000..d068be49
--- /dev/null
+++ b/html/AES_8h_source.html
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BLAKE2b_8cpp_source.html b/html/BLAKE2b_8cpp_source.html
new file mode 100644
index 00000000..68b16d08
--- /dev/null
+++ b/html/BLAKE2b_8cpp_source.html
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BLAKE2b_8h_source.html b/html/BLAKE2b_8h_source.html
new file mode 100644
index 00000000..54426b1e
--- /dev/null
+++ b/html/BLAKE2b_8h_source.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BLAKE2s_8cpp_source.html b/html/BLAKE2s_8cpp_source.html
new file mode 100644
index 00000000..71a3bd1a
--- /dev/null
+++ b/html/BLAKE2s_8cpp_source.html
@@ -0,0 +1,330 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BLAKE2s_8h_source.html b/html/BLAKE2s_8h_source.html
new file mode 100644
index 00000000..4a675b57
--- /dev/null
+++ b/html/BLAKE2s_8h_source.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Bitmap_8cpp_source.html b/html/Bitmap_8cpp_source.html
new file mode 100644
index 00000000..a620e45e
--- /dev/null
+++ b/html/Bitmap_8cpp_source.html
@@ -0,0 +1,702 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Bitmap_8h_source.html b/html/Bitmap_8h_source.html
new file mode 100644
index 00000000..bb395881
--- /dev/null
+++ b/html/Bitmap_8h_source.html
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BlinkLED_8cpp_source.html b/html/BlinkLED_8cpp_source.html
new file mode 100644
index 00000000..db448774
--- /dev/null
+++ b/html/BlinkLED_8cpp_source.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BlinkLED_8h_source.html b/html/BlinkLED_8h_source.html
new file mode 100644
index 00000000..d8254cd5
--- /dev/null
+++ b/html/BlinkLED_8h_source.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BlockCipher_8cpp_source.html b/html/BlockCipher_8cpp_source.html
new file mode 100644
index 00000000..b8ab6afe
--- /dev/null
+++ b/html/BlockCipher_8cpp_source.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BlockCipher_8h_source.html b/html/BlockCipher_8h_source.html
new file mode 100644
index 00000000..1e4b0d48
--- /dev/null
+++ b/html/BlockCipher_8h_source.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BoolField_8cpp_source.html b/html/BoolField_8cpp_source.html
new file mode 100644
index 00000000..eff165b5
--- /dev/null
+++ b/html/BoolField_8cpp_source.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/BoolField_8h_source.html b/html/BoolField_8h_source.html
new file mode 100644
index 00000000..4c824cf6
--- /dev/null
+++ b/html/BoolField_8h_source.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/CBC_8cpp_source.html b/html/CBC_8cpp_source.html
new file mode 100644
index 00000000..3fefdb1a
--- /dev/null
+++ b/html/CBC_8cpp_source.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/CBC_8h_source.html b/html/CBC_8h_source.html
new file mode 100644
index 00000000..6b9afb27
--- /dev/null
+++ b/html/CBC_8h_source.html
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/CFB_8cpp_source.html b/html/CFB_8cpp_source.html
new file mode 100644
index 00000000..05c34b7f
--- /dev/null
+++ b/html/CFB_8cpp_source.html
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/CFB_8h_source.html b/html/CFB_8h_source.html
new file mode 100644
index 00000000..23e7b2a4
--- /dev/null
+++ b/html/CFB_8h_source.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/CTR_8cpp_source.html b/html/CTR_8cpp_source.html
new file mode 100644
index 00000000..e4638bfe
--- /dev/null
+++ b/html/CTR_8cpp_source.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/CTR_8h_source.html b/html/CTR_8h_source.html
new file mode 100644
index 00000000..b80913ce
--- /dev/null
+++ b/html/CTR_8h_source.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ChaCha_8cpp_source.html b/html/ChaCha_8cpp_source.html
new file mode 100644
index 00000000..89695b7d
--- /dev/null
+++ b/html/ChaCha_8cpp_source.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ChaCha_8h_source.html b/html/ChaCha_8h_source.html
new file mode 100644
index 00000000..816fcb8a
--- /dev/null
+++ b/html/ChaCha_8h_source.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Charlieplex_8cpp_source.html b/html/Charlieplex_8cpp_source.html
new file mode 100644
index 00000000..1a194c1d
--- /dev/null
+++ b/html/Charlieplex_8cpp_source.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Charlieplex_8h_source.html b/html/Charlieplex_8h_source.html
new file mode 100644
index 00000000..7bb95ee5
--- /dev/null
+++ b/html/Charlieplex_8h_source.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ChaseLEDs_8cpp_source.html b/html/ChaseLEDs_8cpp_source.html
new file mode 100644
index 00000000..741dc1e6
--- /dev/null
+++ b/html/ChaseLEDs_8cpp_source.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ChaseLEDs_8h_source.html b/html/ChaseLEDs_8h_source.html
new file mode 100644
index 00000000..47502fd5
--- /dev/null
+++ b/html/ChaseLEDs_8h_source.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Cipher_8cpp_source.html b/html/Cipher_8cpp_source.html
new file mode 100644
index 00000000..12b88722
--- /dev/null
+++ b/html/Cipher_8cpp_source.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Cipher_8h_source.html b/html/Cipher_8h_source.html
new file mode 100644
index 00000000..ca4be790
--- /dev/null
+++ b/html/Cipher_8h_source.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Crypto_8cpp_source.html b/html/Crypto_8cpp_source.html
new file mode 100644
index 00000000..04e25b1c
--- /dev/null
+++ b/html/Crypto_8cpp_source.html
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Crypto_8h_source.html b/html/Crypto_8h_source.html
new file mode 100644
index 00000000..65778d76
--- /dev/null
+++ b/html/Crypto_8h_source.html
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Curve25519_8cpp_source.html b/html/Curve25519_8cpp_source.html
new file mode 100644
index 00000000..2f39397a
--- /dev/null
+++ b/html/Curve25519_8cpp_source.html
@@ -0,0 +1,725 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Curve25519_8h_source.html b/html/Curve25519_8h_source.html
new file mode 100644
index 00000000..666d9963
--- /dev/null
+++ b/html/Curve25519_8h_source.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Cylon.png b/html/Cylon.png
new file mode 100644
index 00000000..231ccb78
Binary files /dev/null and b/html/Cylon.png differ
diff --git a/html/Cylon4.png b/html/Cylon4.png
new file mode 100644
index 00000000..a4212868
Binary files /dev/null and b/html/Cylon4.png differ
diff --git a/html/DMD_8cpp_source.html b/html/DMD_8cpp_source.html
new file mode 100644
index 00000000..2e162aad
--- /dev/null
+++ b/html/DMD_8cpp_source.html
@@ -0,0 +1,464 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DMD_8h_source.html b/html/DMD_8h_source.html
new file mode 100644
index 00000000..69d377a8
--- /dev/null
+++ b/html/DMD_8h_source.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DS1307RTC_8cpp_source.html b/html/DS1307RTC_8cpp_source.html
new file mode 100644
index 00000000..ca0c5dd4
--- /dev/null
+++ b/html/DS1307RTC_8cpp_source.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DS1307RTC_8h_source.html b/html/DS1307RTC_8h_source.html
new file mode 100644
index 00000000..9f11a390
--- /dev/null
+++ b/html/DS1307RTC_8h_source.html
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DS3231RTC_8cpp_source.html b/html/DS3231RTC_8cpp_source.html
new file mode 100644
index 00000000..6338b3b1
--- /dev/null
+++ b/html/DS3231RTC_8cpp_source.html
@@ -0,0 +1,665 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DS3231RTC_8h_source.html b/html/DS3231RTC_8h_source.html
new file mode 100644
index 00000000..7fd6f5c6
--- /dev/null
+++ b/html/DS3231RTC_8h_source.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DS3232RTC_8cpp_source.html b/html/DS3232RTC_8cpp_source.html
new file mode 100644
index 00000000..3bc62781
--- /dev/null
+++ b/html/DS3232RTC_8cpp_source.html
@@ -0,0 +1,583 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DS3232RTC_8h_source.html b/html/DS3232RTC_8h_source.html
new file mode 100644
index 00000000..7395d5ac
--- /dev/null
+++ b/html/DS3232RTC_8h_source.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DejaVuSans9_8h_source.html b/html/DejaVuSans9_8h_source.html
new file mode 100644
index 00000000..07aebb04
--- /dev/null
+++ b/html/DejaVuSans9_8h_source.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DejaVuSansBold9_8h_source.html b/html/DejaVuSansBold9_8h_source.html
new file mode 100644
index 00000000..58d86e1e
--- /dev/null
+++ b/html/DejaVuSansBold9_8h_source.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/DejaVuSansItalic9_8h_source.html b/html/DejaVuSansItalic9_8h_source.html
new file mode 100644
index 00000000..86e48a07
--- /dev/null
+++ b/html/DejaVuSansItalic9_8h_source.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/EEPROM24_8cpp_source.html b/html/EEPROM24_8cpp_source.html
new file mode 100644
index 00000000..55769a06
--- /dev/null
+++ b/html/EEPROM24_8cpp_source.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/EEPROM24_8h_source.html b/html/EEPROM24_8h_source.html
new file mode 100644
index 00000000..b392e559
--- /dev/null
+++ b/html/EEPROM24_8h_source.html
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Field_8cpp_source.html b/html/Field_8cpp_source.html
new file mode 100644
index 00000000..5e4c2163
--- /dev/null
+++ b/html/Field_8cpp_source.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Field_8h_source.html b/html/Field_8h_source.html
new file mode 100644
index 00000000..d4371255
--- /dev/null
+++ b/html/Field_8h_source.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/FormBool.png b/html/FormBool.png
new file mode 100644
index 00000000..7449a3cb
Binary files /dev/null and b/html/FormBool.png differ
diff --git a/html/FormInt.png b/html/FormInt.png
new file mode 100644
index 00000000..2fc9b6b1
Binary files /dev/null and b/html/FormInt.png differ
diff --git a/html/FormText.png b/html/FormText.png
new file mode 100644
index 00000000..cb018bcf
Binary files /dev/null and b/html/FormText.png differ
diff --git a/html/FormTimeRO.png b/html/FormTimeRO.png
new file mode 100644
index 00000000..e99c7b9a
Binary files /dev/null and b/html/FormTimeRO.png differ
diff --git a/html/FormTimeRW.png b/html/FormTimeRW.png
new file mode 100644
index 00000000..679c01ce
Binary files /dev/null and b/html/FormTimeRW.png differ
diff --git a/html/Form_8cpp_source.html b/html/Form_8cpp_source.html
new file mode 100644
index 00000000..277e056f
--- /dev/null
+++ b/html/Form_8cpp_source.html
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Form_8h_source.html b/html/Form_8h_source.html
new file mode 100644
index 00000000..db308ea9
--- /dev/null
+++ b/html/Form_8h_source.html
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Hash_8cpp_source.html b/html/Hash_8cpp_source.html
new file mode 100644
index 00000000..8b2ddb60
--- /dev/null
+++ b/html/Hash_8cpp_source.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Hash_8h_source.html b/html/Hash_8h_source.html
new file mode 100644
index 00000000..20ac38f9
--- /dev/null
+++ b/html/Hash_8h_source.html
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/HelloWorld.png b/html/HelloWorld.png
new file mode 100644
index 00000000..29ddaa52
Binary files /dev/null and b/html/HelloWorld.png differ
diff --git a/html/I2CMaster_8cpp_source.html b/html/I2CMaster_8cpp_source.html
new file mode 100644
index 00000000..216f2ec9
--- /dev/null
+++ b/html/I2CMaster_8cpp_source.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/I2CMaster_8h_source.html b/html/I2CMaster_8h_source.html
new file mode 100644
index 00000000..59aa5943
--- /dev/null
+++ b/html/I2CMaster_8h_source.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/IRreceiver_8cpp_source.html b/html/IRreceiver_8cpp_source.html
new file mode 100644
index 00000000..63c48845
--- /dev/null
+++ b/html/IRreceiver_8cpp_source.html
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/IRreceiver_8h_source.html b/html/IRreceiver_8h_source.html
new file mode 100644
index 00000000..988413c7
--- /dev/null
+++ b/html/IRreceiver_8h_source.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/IntField_8cpp_source.html b/html/IntField_8cpp_source.html
new file mode 100644
index 00000000..f3c32805
--- /dev/null
+++ b/html/IntField_8cpp_source.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/IntField_8h_source.html b/html/IntField_8h_source.html
new file mode 100644
index 00000000..4fcee9f9
--- /dev/null
+++ b/html/IntField_8h_source.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/KeccakCore_8cpp_source.html b/html/KeccakCore_8cpp_source.html
new file mode 100644
index 00000000..56c53a18
--- /dev/null
+++ b/html/KeccakCore_8cpp_source.html
@@ -0,0 +1,366 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/KeccakCore_8h_source.html b/html/KeccakCore_8h_source.html
new file mode 100644
index 00000000..ac3959bc
--- /dev/null
+++ b/html/KeccakCore_8h_source.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/LCD_8cpp_source.html b/html/LCD_8cpp_source.html
new file mode 100644
index 00000000..ffb4b2d9
--- /dev/null
+++ b/html/LCD_8cpp_source.html
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/LCD_8h_source.html b/html/LCD_8h_source.html
new file mode 100644
index 00000000..aa64a5b5
--- /dev/null
+++ b/html/LCD_8h_source.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ListField_8cpp_source.html b/html/ListField_8cpp_source.html
new file mode 100644
index 00000000..ffff232d
--- /dev/null
+++ b/html/ListField_8cpp_source.html
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ListField_8h_source.html b/html/ListField_8h_source.html
new file mode 100644
index 00000000..81f42fd5
--- /dev/null
+++ b/html/ListField_8h_source.html
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Melody_8cpp_source.html b/html/Melody_8cpp_source.html
new file mode 100644
index 00000000..1ea56e8f
--- /dev/null
+++ b/html/Melody_8cpp_source.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Melody_8h_source.html b/html/Melody_8h_source.html
new file mode 100644
index 00000000..59b1f132
--- /dev/null
+++ b/html/Melody_8h_source.html
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/Mono5x7_8h_source.html b/html/Mono5x7_8h_source.html
new file mode 100644
index 00000000..d55b863a
--- /dev/null
+++ b/html/Mono5x7_8h_source.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/NoiseSource_8cpp_source.html b/html/NoiseSource_8cpp_source.html
new file mode 100644
index 00000000..a1fe11f4
--- /dev/null
+++ b/html/NoiseSource_8cpp_source.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/NoiseSource_8h_source.html b/html/NoiseSource_8h_source.html
new file mode 100644
index 00000000..e0b2569f
--- /dev/null
+++ b/html/NoiseSource_8h_source.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/OFB_8cpp_source.html b/html/OFB_8cpp_source.html
new file mode 100644
index 00000000..394bac26
--- /dev/null
+++ b/html/OFB_8cpp_source.html
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/OFB_8h_source.html b/html/OFB_8h_source.html
new file mode 100644
index 00000000..5d1c4684
--- /dev/null
+++ b/html/OFB_8h_source.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/PowerSave_8cpp_source.html b/html/PowerSave_8cpp_source.html
new file mode 100644
index 00000000..7cd2467c
--- /dev/null
+++ b/html/PowerSave_8cpp_source.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/PowerSave_8h_source.html b/html/PowerSave_8h_source.html
new file mode 100644
index 00000000..481fdd5f
--- /dev/null
+++ b/html/PowerSave_8h_source.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RC5_8h_source.html b/html/RC5_8h_source.html
new file mode 100644
index 00000000..c8ff9269
--- /dev/null
+++ b/html/RC5_8h_source.html
@@ -0,0 +1,443 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RNG_8cpp_source.html b/html/RNG_8cpp_source.html
new file mode 100644
index 00000000..3f4be017
--- /dev/null
+++ b/html/RNG_8cpp_source.html
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RNG_8h_source.html b/html/RNG_8h_source.html
new file mode 100644
index 00000000..38eeb55a
--- /dev/null
+++ b/html/RNG_8h_source.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RTC_8cpp_source.html b/html/RTC_8cpp_source.html
new file mode 100644
index 00000000..83343adc
--- /dev/null
+++ b/html/RTC_8cpp_source.html
@@ -0,0 +1,388 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RTC_8h_source.html b/html/RTC_8h_source.html
new file mode 100644
index 00000000..48fd84fc
--- /dev/null
+++ b/html/RTC_8h_source.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RingOscillatorNoiseSource_8cpp_source.html b/html/RingOscillatorNoiseSource_8cpp_source.html
new file mode 100644
index 00000000..d7c59680
--- /dev/null
+++ b/html/RingOscillatorNoiseSource_8cpp_source.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/RingOscillatorNoiseSource_8h_source.html b/html/RingOscillatorNoiseSource_8h_source.html
new file mode 100644
index 00000000..9925c451
--- /dev/null
+++ b/html/RingOscillatorNoiseSource_8h_source.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA1_8cpp_source.html b/html/SHA1_8cpp_source.html
new file mode 100644
index 00000000..f89abaad
--- /dev/null
+++ b/html/SHA1_8cpp_source.html
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA1_8h_source.html b/html/SHA1_8h_source.html
new file mode 100644
index 00000000..06b20691
--- /dev/null
+++ b/html/SHA1_8h_source.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA256_8cpp_source.html b/html/SHA256_8cpp_source.html
new file mode 100644
index 00000000..73bac9de
--- /dev/null
+++ b/html/SHA256_8cpp_source.html
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA256_8h_source.html b/html/SHA256_8h_source.html
new file mode 100644
index 00000000..594e954d
--- /dev/null
+++ b/html/SHA256_8h_source.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA3_8cpp_source.html b/html/SHA3_8cpp_source.html
new file mode 100644
index 00000000..53b4d7c5
--- /dev/null
+++ b/html/SHA3_8cpp_source.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA3_8h_source.html b/html/SHA3_8h_source.html
new file mode 100644
index 00000000..7cad9e90
--- /dev/null
+++ b/html/SHA3_8h_source.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA512_8cpp_source.html b/html/SHA512_8cpp_source.html
new file mode 100644
index 00000000..91672256
--- /dev/null
+++ b/html/SHA512_8cpp_source.html
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SHA512_8h_source.html b/html/SHA512_8h_source.html
new file mode 100644
index 00000000..44f66d0f
--- /dev/null
+++ b/html/SHA512_8h_source.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SoftI2C_8cpp_source.html b/html/SoftI2C_8cpp_source.html
new file mode 100644
index 00000000..d94fe127
--- /dev/null
+++ b/html/SoftI2C_8cpp_source.html
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/SoftI2C_8h_source.html b/html/SoftI2C_8h_source.html
new file mode 100644
index 00000000..ea12fc27
--- /dev/null
+++ b/html/SoftI2C_8h_source.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/StarTrek.png b/html/StarTrek.png
new file mode 100644
index 00000000..9588a9b2
Binary files /dev/null and b/html/StarTrek.png differ
diff --git a/html/StarTrekBreadboard.png b/html/StarTrekBreadboard.png
new file mode 100644
index 00000000..8a14f8eb
Binary files /dev/null and b/html/StarTrekBreadboard.png differ
diff --git a/html/StarTrekShield.png b/html/StarTrekShield.png
new file mode 100644
index 00000000..1ab21738
Binary files /dev/null and b/html/StarTrekShield.png differ
diff --git a/html/TextField_8cpp_source.html b/html/TextField_8cpp_source.html
new file mode 100644
index 00000000..a8c03bf2
--- /dev/null
+++ b/html/TextField_8cpp_source.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/TextField_8h_source.html b/html/TextField_8h_source.html
new file mode 100644
index 00000000..b25fcb45
--- /dev/null
+++ b/html/TextField_8h_source.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ThreeChase.png b/html/ThreeChase.png
new file mode 100644
index 00000000..c460598c
Binary files /dev/null and b/html/ThreeChase.png differ
diff --git a/html/TimeField_8cpp_source.html b/html/TimeField_8cpp_source.html
new file mode 100644
index 00000000..1b866f48
--- /dev/null
+++ b/html/TimeField_8cpp_source.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/TimeField_8h_source.html b/html/TimeField_8h_source.html
new file mode 100644
index 00000000..44b0b131
--- /dev/null
+++ b/html/TimeField_8h_source.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/TransistorNoiseSource_8cpp_source.html b/html/TransistorNoiseSource_8cpp_source.html
new file mode 100644
index 00000000..ff4d01f1
--- /dev/null
+++ b/html/TransistorNoiseSource_8cpp_source.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/TransistorNoiseSource_8h_source.html b/html/TransistorNoiseSource_8h_source.html
new file mode 100644
index 00000000..c0bf95ac
--- /dev/null
+++ b/html/TransistorNoiseSource_8h_source.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/alarm-clock_8dox.html b/html/alarm-clock_8dox.html
new file mode 100644
index 00000000..00c51ea8
--- /dev/null
+++ b/html/alarm-clock_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/alarm_circuit.png b/html/alarm_circuit.png
new file mode 100644
index 00000000..1a277032
Binary files /dev/null and b/html/alarm_circuit.png differ
diff --git a/html/alarm_clock.html b/html/alarm_clock.html
new file mode 100644
index 00000000..6834f30b
--- /dev/null
+++ b/html/alarm_clock.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
The alarm clock described on this page is a large example application that uses many of the classes in the provided libraries: LCD, Form, Field, SoftI2C, DS1307RTC (or DS3232RTC), Melody and PowerSave. The clock has the following features:
+The main clock circuit consists of an Arduino Uno compatible board, a 16x2 LCD module, a realtime clock chip, a piezo buzzer for the alarm, and a MOSFET for controlling the radio:
+
+Some of the components can be purchased ready-made as the Freetronics 16x2 LCD Shield and the SparkFun Realtime Clock Module. I used the ready-made realtime clock module, but made my own equivalent to the LCD shield from parts to aid in spacing out the LCD and pushbuttons on the exterior of the box. The value of the 33R resistor may need to be adjusted for different types of back light LED's. See below for information on using a DS3232-based clock module instead of a DS1307-based module.
+The whole circuit is built on a prototyping shield, with ribbon cables connecting to the LCD. The Stop Alarm button, piezo buzzer, and radio controller are not shown in this picture and some of the components are soldered to the bottom of the shield:
+
+The clock module is based on the DS1307 chip and has an on-board coin battery to keep the time and date ticking over even if the main circuit loses power. The chip is I2C-based and has an auxillary SQW output that can be configured to provide a 1 Hz squarewave signal. This signal is used by the software running on the Arduino to detect when a new time or date is available for display on the LCD. The DS1307RTC class takes care of the details of talking to the chip via I2C.
+To keep power consumption low, say for being powered by batteries, we don't need a full Arduino Uno or similar board. The USB interface is unnecessary, as is the on-board power supply if there is an external source of 5 volt power. We also don't want the power and D13 status LED's to be draining power. Therefore, a cut-down version of the Arduino is recommended. We used the KitTen kit from Freetronics, and didn't solder up anything that wasn't strictly necessary. A 5v FTDI USB-to-Serial cable is necessary for programming. Similar minimalistic built-it-yourself Arduino designs should also work.
+
+The MOSFET connected to D11 can be used to control the power supply to a separate radio circuit so that the radio can be used as an alarm. In the following circuit, RadioV+ is the radio's power supply voltage (which may be the Arduino's 5V supply if the radio can run off 5V):
+
+The output of the MOSFET can be used to control almost any kind of circuit; for example an extremely loud mechanical alarm bell. It doesn't have to be a radio. A 2N7000 or equivalent MOSFET is suitable for light loads up to 200mA. For larger currents, a higher-rated MOSFET should be used instead.
+Double-tapping the Stop Alarm button will turn the radio on. Single-tapping the Stop Alarm button will turn the radio off. A settings field can also be used to turn the radio on and off.
+For clock modules based on the DS3232 chip, such as the Freetronics Real Time Clock Module, change the Clock typedef in Clock.h to the following:
The pads on the Freetronics module should be connected to the Arduino as follows:
+The following picture shows the completed clock prototype, built into a UB1 jiffy box with the radio. Being the prototype, it is a little rough and ready, but rugged enough to take a pounding each morning as a bedside alarm clock:
+
+
+ 1.8.6
+
+
+
diff --git a/html/alarm_clock.jpg b/html/alarm_clock.jpg
new file mode 100644
index 00000000..721c7174
Binary files /dev/null and b/html/alarm_clock.jpg differ
diff --git a/html/annotated.html b/html/annotated.html
new file mode 100644
index 00000000..5613cb36
--- /dev/null
+++ b/html/annotated.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
| AES block cipher with 128-bit keys | |
| AES block cipher with 192-bit keys | |
| AES block cipher with 256-bit keys | |
| Abstract base class for AES block ciphers | |
| Represents a monochrome bitmap within main memory | |
| BLAKE2b hash algorithm | |
| BLAKE2s hash algorithm | |
| Blink a LED on a digital output pin | |
| Abstract base class for block ciphers | |
| Field that manages the input of a boolean value | |
| Implementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers | |
| Concrete base class to assist with implementing CBC for 128-bit block ciphers | |
| Implementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers | |
| Concrete base class to assist with implementing CFB for 128-bit block ciphers | |
| ChaCha stream cipher | |
| Manage an array of LED's in a charlieplexed arrangement | |
| Chase LED's on output pins in a defined sequence | |
| Abstract base class for stream ciphers | |
| Implementation of the Counter (CTR) mode for 128-bit block ciphers | |
| Concrete base class to assist with implementing CTR mode for 128-bit block ciphers | |
| Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19 | |
| Handle large dot matrix displays composed of LED's | |
| Communicates with a DS1307 realtime clock chip via I2C | |
| Communicates with a DS3231 realtime clock chip via I2C | |
| Communicates with a DS3232 realtime clock chip via I2C | |
| Reading and writing EEPROM's from the 24LCXX family | |
| Manages a single data input/output field within a Form | |
| Manager for a form containing data input/output fields | |
| Abstract base class for cryptographic hash algorithms | |
| Abstract base class for I2C master implementations | |
| Field that manages the input of an integer value | |
| Manages the reception of RC-5 commands from an infrared remote control | |
| Keccak core sponge function | |
| Enhanced library for Freetronics 16x2 LCD shields | |
| Field that manages selection from a static list of items | |
| Plays a melody on a digital output pin using tone() | |
| Abstract base class for random noise sources | |
| Implementation of the Output Feedback (OFB) mode for 128-bit block ciphers | |
| Concrete base class to assist with implementing OFB for 128-bit block ciphers | |
| Processes the signal from a ring oscillator based noise source | |
| Pseudo random number generator suitable for cryptography | |
| Base class for realtime clock handlers | |
| Stores alarm information from a realtime clock chip | |
| Stores date information from a realtime clock chip | |
| Stores time information from a realtime clock chip | |
| SHA-1 hash algorithm | |
| SHA-256 hash algorithm | |
| SHA3-256 hash algorithm | |
| SHA3-512 hash algorithm | |
| SHA-512 hash algorithm | |
| Bit-banged implementation of an I2C master | |
| Field that displays a read-only text value | |
| Field that manages the display and editing of a time value | |
| Processes the signal from a transistor-based noise source |
+ 1.8.6
+
+
+
diff --git a/html/bc_s.png b/html/bc_s.png
new file mode 100644
index 00000000..224b29aa
Binary files /dev/null and b/html/bc_s.png differ
diff --git a/html/bdwn.png b/html/bdwn.png
new file mode 100644
index 00000000..940a0b95
Binary files /dev/null and b/html/bdwn.png differ
diff --git a/html/blink-blink_8dox.html b/html/blink-blink_8dox.html
new file mode 100644
index 00000000..01c3a7b8
--- /dev/null
+++ b/html/blink-blink_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/blink-charlieplex_8dox.html b/html/blink-charlieplex_8dox.html
new file mode 100644
index 00000000..377150de
--- /dev/null
+++ b/html/blink-charlieplex_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/blink-cylon_8dox.html b/html/blink-cylon_8dox.html
new file mode 100644
index 00000000..90953799
--- /dev/null
+++ b/html/blink-cylon_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/blink-startrek_8dox.html b/html/blink-startrek_8dox.html
new file mode 100644
index 00000000..03a3d125
--- /dev/null
+++ b/html/blink-startrek_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/blink_blink.html b/html/blink_blink.html
new file mode 100644
index 00000000..5f79d6ce
--- /dev/null
+++ b/html/blink_blink.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
The BlinkLED class provides support logic for blinking a LED connected to an output pin. The traditional way to blink a LED uses a delay loop:
+The problem with this code is that the entire application is blocked during the delay(). No other activities can be serviced. BlinkLED provides a re-entrant timer-based implementation that is simple to use in any application and which won't block other activities.
We start this example by including the BlinkLED class and instantiating an object instance:
+In this example we have specified that the LED is on pin D13, the LED should be on for 70 milliseconds, and off for 930 milliseconds. This will cause the status LED to "strobe" once per second. The LED will be initially off for 930 milliseconds after device reset. To start with the LED on, use the following initialization code instead:
+The remaining code we need is a call to BlinkLED::loop() every time around the main application loop:
+As can be seen, BlinkLED simplifies the process of blinking a LED quite considerably. It is also possible to pause() and resume() the blinking. This is useful in applications where a blinking LED indicates a certain state such as an error condition or a long-running operation that is in progress; with the LED off at other times. The on/off blink rate can be modified at runtime using BlinkLED::setBlinkRate(), and the LED can be set to a specific value using BlinkLED::setState().
+The full source code for the example follows:
+
+ 1.8.6
+
+
+
diff --git a/html/blink_charlieplex.html b/html/blink_charlieplex.html
new file mode 100644
index 00000000..57177cd1
--- /dev/null
+++ b/html/blink_charlieplex.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Charlieplexing is a technique for multiplexing large numbers of LED's on a small number of microcontroller output pins. LED's are arranged in complementary pairs and managed by the Charlieplex class. For this example we are going to use 3 output pins to drive 6 LED's:
+
+The technique can be expanded to even larger numbers of LED's. See the documentation for the Charlieplex class for a description of how to connect up larger numbers of pins in a Charlieplexed arrangement.
+The first step is to initialize a Charlieplex object with the output pins it needs to drive:
+ +Then in setup() we use Charlieplex::setLed() and Charlieplex::setPwmLed() to set three of the six LED's to the desired output values:
Charlieplexing can only light a single LED at a time. It is therefore necessary to constantly scan the entire LED array, alternatively turning LED's on and off. The user's peristence of vision fills in the gaps. To do this, we call Charlieplex::loop():
+The downside of Charlieplexing is that when multiple LED's are lit, each LED will appear to be dimmer than if only a single LED was lit. This can be counteracted by using brighter LED's or smaller resistors. The danger with smaller resistors is that if the program crashes or locks up for some reason, a large amount of continuous current could be fed through a single LED and cause it to exceed its maximum rating and burn out.
+The full source code for the example follows:
+A more complex example that performs a LED chase over the 6 LED's follows:
+
+ 1.8.6
+
+
+
diff --git a/html/blink_cylon.html b/html/blink_cylon.html
new file mode 100644
index 00000000..849d1bfb
--- /dev/null
+++ b/html/blink_cylon.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This example shows how to use the ChaseLEDs class to simulate the Cylon eye effect from Battlestar Galactica. Digital outputs are used to drive six LED's in a back and forth motion, using the following schematic:
+
+We start by including the ChaseLEDs class:
+The next step is to define the pins that the chase will run over:
+The chase runs from the first pin to the sixth pin and back again, with each LED lit for 100 milliseconds before moving onto the next one. To complete the example, we need to call ChaseLEDs::loop() each time around our main loop to cause the chase to run:
+While this example uses only six pins, it can be easily extended to any number of pins by modifying the pins array and altering the schematic accordingly.
So far we are chasing only a single LED. We could change this to chase two adjacent LED's instead by defining a new CylonChase class that inherits from ChaseLEDs:
The important part is the implementation of the advance() method, which overrides ChaseLEDs::advance() to provide our own scheme for lighting the LED's each time the chase advances. We use ChaseLEDs::previousPin() to get the pin that is 2 steps back in the sequence, set it to LOW, and then set the previous pin (1 step back) and the next pin to HIGH. All that remains is to change our chase initialization to use the new class:
We can do even better than this. Instead of fully lighting both LED's, we could instead use the PWM outputs to dim the previous pin, creating a kind of "trailing flame" effect:
+The current chase is fixed at 100 milliseconds per LED, which takes a full second to run the sequence. An alternative to hard-wiring the chase rate is to hook up a 10K potentiometer to the A0 analog input:
+
+We then modify the advance() method to read the new chase rate from the potentiometer each time the LED advances:
The full source code for the final version of the example follows:
+
+ 1.8.6
+
+
+
diff --git a/html/blink_startrek.html b/html/blink_startrek.html
new file mode 100644
index 00000000..0fe407fd
--- /dev/null
+++ b/html/blink_startrek.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This example shows how to use the BlinkLED and ChaseLEDs classes to simulate the running lights on the starship Enterprise from Star Trek. This can be used as the basis for lighting a model kit. It is recommended that you read the Blink and Cylon tutorials first.
+There are four categories of lights on the Enterprise:
+Different models of the Enterprise have the lights in different places, and the period of flashing can vary from TV show to show, and sometimes from episode to episode. There isn't a definitive set of blink timings or number of LED's in the nacelle chase. The sketch has a number of configurable parameters that gives the user the freedom to choose which show and/or episode they wish to treat as "canonical" for their model.
+We start by building a test circuit with a small number of LED's for each of the three categories (navigation, strobe, and nacelles):
+
+This won't be the final circuit for the model, but building it on a breadboard will help with the initial prototyping stages and choosing the appropriate blink timings:
+
+Alternatively, the test circuit can be built on a prototyping shield with the chase LED's in a circular arrangement to simulate how they will look when placed in the front of the model's warp nacelles:
+
+Now that we have a circuit, let's configure the red navigation LED on AOUT2 using the BlinkLED class, to blink with a period of 1000 milliseconds on, 1000 milliseconds off:
+We repeat the process for the strobe LED on AOUT3, with a period of 70 milliseconds on, and 830 milliseconds off:
+We also need to arrange for BlinkLED::loop() to be called from the application's main loop() function:
If you run the sketch at this point, you should see the navigation and strobe LED's blink with the selected rates.
+Next is the twirl effect in the warp nacelles, using the ChaseLEDs class. We are actually going to inherit from ChaseLEDs to create a custom LED chaser that reads the chase rate from AIN0 and uses PWM outputs to create a trailing flame effect. See the Cylon example for more information on creating custom effects with ChaseLEDs.
+We also need to add a call to ChaseLEDs::loop() to the application's main loop:
+Running the sketch now should cause the six LED's in the nacelle sequence to chase, in addition to the navigation and strobe LED's. The 10K potentiometer can be used to select the desired chase rate. This completes the test circuit, and will allow you to fiddle with the blink timings and chase rate until you are happy with the result.
+We've made provision in this sketch for six outputs in the chase, but some models may only use three or five. The NACELLE_CHASE_LEN parameter controls the length of the chase.
With three outputs, the LED's can be arranged in opposite pairs, lighting two LED's at a time. The following circuit demonstrates how three outputs can be used to drive six LED's:
+
+You will need two of these circuits, for the left and right warp nacelles. The transistor drivers reduce the current load on the Arduino CPU and provide the option to drive the LED's from 12V instead of 5V.
+It is recommended that you use transistor drivers for the navigation and strobe lights as well as there will be multiple LED's on each output in a real model. For example, there will be at least three each of the red and green navigation lights: the top of the saucer section, the bottom of the saucer section, and the top of the warp nacelle. Using a 12V supply will make it easier to string lots of LED's together in series.
+Other nacelle effects are possible by modifying the advance() method in the sketch. For example, the "opposite pairs" effect with 3 outputs can also be done with 6 outputs and the following modification to the sketch:
The full source code for the example, including the "opposite pairs" effect, follows:
+
+ 1.8.6
+
+
+
diff --git a/html/charlieplex2pin.png b/html/charlieplex2pin.png
new file mode 100644
index 00000000..838b30a3
Binary files /dev/null and b/html/charlieplex2pin.png differ
diff --git a/html/charlieplex3pin.png b/html/charlieplex3pin.png
new file mode 100644
index 00000000..4b0391b3
Binary files /dev/null and b/html/charlieplex3pin.png differ
diff --git a/html/charlieplex4pin.png b/html/charlieplex4pin.png
new file mode 100644
index 00000000..9bbaa264
Binary files /dev/null and b/html/charlieplex4pin.png differ
diff --git a/html/charlieplex5pin.png b/html/charlieplex5pin.png
new file mode 100644
index 00000000..05bc4bd1
Binary files /dev/null and b/html/charlieplex5pin.png differ
diff --git a/html/charlieplexeg.png b/html/charlieplexeg.png
new file mode 100644
index 00000000..48772ac8
Binary files /dev/null and b/html/charlieplexeg.png differ
diff --git a/html/classAES128-members.html b/html/classAES128-members.html
new file mode 100644
index 00000000..28f256cd
--- /dev/null
+++ b/html/classAES128-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for AES128, including all inherited members.
+| AES128() | AES128 | |
| AESCommon() | AESCommon | protected |
| BlockCipher() | BlockCipher | |
| blockSize() const | AESCommon | virtual |
| clear() | AESCommon | virtual |
| decryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| encryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| keySize() const | AES128 | virtual |
| setKey(const uint8_t *key, size_t len) | AES128 | virtual |
| ~AES128() (defined in AES128) | AES128 | virtual |
| ~AESCommon() | AESCommon | virtual |
| ~BlockCipher() | BlockCipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classAES128.html b/html/classAES128.html
new file mode 100644
index 00000000..cc8ec213
--- /dev/null
+++ b/html/classAES128.html
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
AES block cipher with 128-bit keys. + More...
+ +#include <AES.h>
+
+ +Public Member Functions | |
| AES128 () | |
| Constructs an AES 128-bit block cipher with no initial key. More... | |
| size_t | keySize () const |
| Size of a 128-bit AES key in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
Public Member Functions inherited from AESCommon | |
| +virtual | ~AESCommon () |
| Destroys this AES block cipher object after clearing sensitive information. | |
| size_t | blockSize () const |
| Size of an AES block in bytes. More... | |
| void | encryptBlock (uint8_t *output, const uint8_t *input) |
| Encrypts a single block using this cipher. More... | |
| void | decryptBlock (uint8_t *output, const uint8_t *input) |
| Decrypts a single block using this cipher. More... | |
| void | clear () |
| Clears all security-sensitive state from this block cipher. More... | |
Public Member Functions inherited from BlockCipher | |
| + | BlockCipher () |
| Constructs a block cipher. | |
| virtual | ~BlockCipher () |
| Destroys this block cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from AESCommon | |
| + | AESCommon () |
| Constructs an AES block cipher object. | |
AES block cipher with 128-bit keys.
+ + + +| AES128::AES128 | +( | +) | ++ |
Constructs an AES 128-bit block cipher with no initial key.
+This constructor must be followed by a call to setKey() before the block cipher can be used for encryption or decryption.
+ +Definition at line 40 of file AES128.cpp.
+ +
+
|
+ +virtual | +
Size of a 128-bit AES key in bytes.
+Implements BlockCipher.
+ +Definition at line 55 of file AES128.cpp.
+ +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+ + +Implements BlockCipher.
+ +Definition at line 60 of file AES128.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classAES128.png b/html/classAES128.png
new file mode 100644
index 00000000..c158a9d1
Binary files /dev/null and b/html/classAES128.png differ
diff --git a/html/classAES192-members.html b/html/classAES192-members.html
new file mode 100644
index 00000000..fbfd8edb
--- /dev/null
+++ b/html/classAES192-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for AES192, including all inherited members.
+| AES192() | AES192 | |
| AESCommon() | AESCommon | protected |
| BlockCipher() | BlockCipher | |
| blockSize() const | AESCommon | virtual |
| clear() | AESCommon | virtual |
| decryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| encryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| keySize() const | AES192 | virtual |
| setKey(const uint8_t *key, size_t len) | AES192 | virtual |
| ~AES192() (defined in AES192) | AES192 | virtual |
| ~AESCommon() | AESCommon | virtual |
| ~BlockCipher() | BlockCipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classAES192.html b/html/classAES192.html
new file mode 100644
index 00000000..d53b18a3
--- /dev/null
+++ b/html/classAES192.html
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
AES block cipher with 192-bit keys. + More...
+ +#include <AES.h>
+
+ +Public Member Functions | |
| AES192 () | |
| Constructs an AES 192-bit block cipher with no initial key. More... | |
| size_t | keySize () const |
| Size of a 192-bit AES key in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
Public Member Functions inherited from AESCommon | |
| +virtual | ~AESCommon () |
| Destroys this AES block cipher object after clearing sensitive information. | |
| size_t | blockSize () const |
| Size of an AES block in bytes. More... | |
| void | encryptBlock (uint8_t *output, const uint8_t *input) |
| Encrypts a single block using this cipher. More... | |
| void | decryptBlock (uint8_t *output, const uint8_t *input) |
| Decrypts a single block using this cipher. More... | |
| void | clear () |
| Clears all security-sensitive state from this block cipher. More... | |
Public Member Functions inherited from BlockCipher | |
| + | BlockCipher () |
| Constructs a block cipher. | |
| virtual | ~BlockCipher () |
| Destroys this block cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from AESCommon | |
| + | AESCommon () |
| Constructs an AES block cipher object. | |
AES block cipher with 192-bit keys.
+ + + +| AES192::AES192 | +( | +) | ++ |
Constructs an AES 192-bit block cipher with no initial key.
+This constructor must be followed by a call to setKey() before the block cipher can be used for encryption or decryption.
+ +Definition at line 40 of file AES192.cpp.
+ +
+
|
+ +virtual | +
Size of a 192-bit AES key in bytes.
+Implements BlockCipher.
+ +Definition at line 55 of file AES192.cpp.
+ +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+ + +Implements BlockCipher.
+ +Definition at line 60 of file AES192.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classAES192.png b/html/classAES192.png
new file mode 100644
index 00000000..23ac333b
Binary files /dev/null and b/html/classAES192.png differ
diff --git a/html/classAES256-members.html b/html/classAES256-members.html
new file mode 100644
index 00000000..8431b8de
--- /dev/null
+++ b/html/classAES256-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for AES256, including all inherited members.
+| AES256() | AES256 | |
| AESCommon() | AESCommon | protected |
| BlockCipher() | BlockCipher | |
| blockSize() const | AESCommon | virtual |
| clear() | AESCommon | virtual |
| decryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| encryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| keySize() const | AES256 | virtual |
| setKey(const uint8_t *key, size_t len) | AES256 | virtual |
| ~AES256() (defined in AES256) | AES256 | virtual |
| ~AESCommon() | AESCommon | virtual |
| ~BlockCipher() | BlockCipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classAES256.html b/html/classAES256.html
new file mode 100644
index 00000000..4e246bea
--- /dev/null
+++ b/html/classAES256.html
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
AES block cipher with 256-bit keys. + More...
+ +#include <AES.h>
+
+ +Public Member Functions | |
| AES256 () | |
| Constructs an AES 256-bit block cipher with no initial key. More... | |
| size_t | keySize () const |
| Size of a 256-bit AES key in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
Public Member Functions inherited from AESCommon | |
| +virtual | ~AESCommon () |
| Destroys this AES block cipher object after clearing sensitive information. | |
| size_t | blockSize () const |
| Size of an AES block in bytes. More... | |
| void | encryptBlock (uint8_t *output, const uint8_t *input) |
| Encrypts a single block using this cipher. More... | |
| void | decryptBlock (uint8_t *output, const uint8_t *input) |
| Decrypts a single block using this cipher. More... | |
| void | clear () |
| Clears all security-sensitive state from this block cipher. More... | |
Public Member Functions inherited from BlockCipher | |
| + | BlockCipher () |
| Constructs a block cipher. | |
| virtual | ~BlockCipher () |
| Destroys this block cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from AESCommon | |
| + | AESCommon () |
| Constructs an AES block cipher object. | |
AES block cipher with 256-bit keys.
+ + + +| AES256::AES256 | +( | +) | ++ |
Constructs an AES 256-bit block cipher with no initial key.
+This constructor must be followed by a call to setKey() before the block cipher can be used for encryption or decryption.
+ +Definition at line 40 of file AES256.cpp.
+ +
+
|
+ +virtual | +
Size of a 256-bit AES key in bytes.
+Implements BlockCipher.
+ +Definition at line 55 of file AES256.cpp.
+ +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+ + +Implements BlockCipher.
+ +Definition at line 60 of file AES256.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classAES256.png b/html/classAES256.png
new file mode 100644
index 00000000..52d33d16
Binary files /dev/null and b/html/classAES256.png differ
diff --git a/html/classAESCommon-members.html b/html/classAESCommon-members.html
new file mode 100644
index 00000000..63999532
--- /dev/null
+++ b/html/classAESCommon-members.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for AESCommon, including all inherited members.
+| AESCommon() | AESCommon | protected |
| BlockCipher() | BlockCipher | |
| blockSize() const | AESCommon | virtual |
| clear() | AESCommon | virtual |
| decryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| encryptBlock(uint8_t *output, const uint8_t *input) | AESCommon | virtual |
| keySize() const =0 | BlockCipher | pure virtual |
| setKey(const uint8_t *key, size_t len)=0 | BlockCipher | pure virtual |
| ~AESCommon() | AESCommon | virtual |
| ~BlockCipher() | BlockCipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classAESCommon.html b/html/classAESCommon.html
new file mode 100644
index 00000000..4632aeb5
--- /dev/null
+++ b/html/classAESCommon.html
@@ -0,0 +1,330 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Abstract base class for AES block ciphers. + More...
+ +#include <AES.h>
+
+ +Public Member Functions | |
| +virtual | ~AESCommon () |
| Destroys this AES block cipher object after clearing sensitive information. | |
| size_t | blockSize () const |
| Size of an AES block in bytes. More... | |
| void | encryptBlock (uint8_t *output, const uint8_t *input) |
| Encrypts a single block using this cipher. More... | |
| void | decryptBlock (uint8_t *output, const uint8_t *input) |
| Decrypts a single block using this cipher. More... | |
| void | clear () |
| Clears all security-sensitive state from this block cipher. More... | |
Public Member Functions inherited from BlockCipher | |
| + | BlockCipher () |
| Constructs a block cipher. | |
| virtual | ~BlockCipher () |
| Destroys this block cipher object. More... | |
| virtual size_t | keySize () const =0 |
| Default size of the key for this block cipher, in bytes. More... | |
| virtual bool | setKey (const uint8_t *key, size_t len)=0 |
| Sets the key to use for future encryption and decryption operations. More... | |
+Protected Member Functions | |
| + | AESCommon () |
| Constructs an AES block cipher object. | |
Abstract base class for AES block ciphers.
+This class is abstract. The caller should instantiate AES128, AES192, or AES256 to create an AES block cipher with a specific key size.
+Reference: http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
+ + + +
+
|
+ +virtual | +
Size of an AES block in bytes.
+Implements BlockCipher.
+ +Definition at line 144 of file AESCommon.cpp.
+ +
+
|
+ +virtual | +
Clears all security-sensitive state from this block cipher.
+Security-sensitive information includes key schedules and any temporary state that is used by encryptBlock() or decryptBlock() which is stored in the object itself.
+Implements BlockCipher.
+ +Definition at line 324 of file AESCommon.cpp.
+ +
+
|
+ +virtual | +
Decrypts a single block using this cipher.
+| output | The output buffer to put the plaintext into. Must be at least blockSize() bytes in length. |
| input | The input buffer to read the ciphertext from which is allowed to overlap with output. Must be at least blockSize() bytes in length. |
Implements BlockCipher.
+ +Definition at line 295 of file AESCommon.cpp.
+ +
+
|
+ +virtual | +
Encrypts a single block using this cipher.
+| output | The output buffer to put the ciphertext into. Must be at least blockSize() bytes in length. |
| input | The input buffer to read the plaintext from which is allowed to overlap with output. Must be at least blockSize() bytes in length. |
Implements BlockCipher.
+ +Definition at line 266 of file AESCommon.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classAESCommon.png b/html/classAESCommon.png
new file mode 100644
index 00000000..043e2f5d
Binary files /dev/null and b/html/classAESCommon.png differ
diff --git a/html/classBLAKE2b-members.html b/html/classBLAKE2b-members.html
new file mode 100644
index 00000000..2245aae3
--- /dev/null
+++ b/html/classBLAKE2b-members.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for BLAKE2b, including all inherited members.
+| BLAKE2b() | BLAKE2b | |
| blockSize() const | BLAKE2b | virtual |
| chunkSize (defined in BLAKE2b) | BLAKE2b | |
| clear() | BLAKE2b | virtual |
| finalize(void *hash, size_t len) | BLAKE2b | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | BLAKE2b | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| h (defined in BLAKE2b) | BLAKE2b | |
| Hash() | Hash | |
| hashSize() const | BLAKE2b | virtual |
| lengthHigh (defined in BLAKE2b) | BLAKE2b | |
| lengthLow (defined in BLAKE2b) | BLAKE2b | |
| m (defined in BLAKE2b) | BLAKE2b | |
| reset() | BLAKE2b | virtual |
| reset(uint8_t outputLength) | BLAKE2b | |
| resetHMAC(const void *key, size_t keyLen) | BLAKE2b | virtual |
| update(const void *data, size_t len) | BLAKE2b | virtual |
| v (defined in BLAKE2b) | BLAKE2b | |
| ~BLAKE2b() | BLAKE2b | virtual |
| ~Hash() | Hash | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classBLAKE2b.html b/html/classBLAKE2b.html
new file mode 100644
index 00000000..01d9746c
--- /dev/null
+++ b/html/classBLAKE2b.html
@@ -0,0 +1,544 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
BLAKE2b hash algorithm. + More...
+ +#include <BLAKE2b.h>
+
+ +Public Member Functions | |
| + | BLAKE2b () |
| Constructs a BLAKE2b hash object. | |
| +virtual | ~BLAKE2b () |
| Destroys this BLAKE2b hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | reset (uint8_t outputLength) |
| Resets the hash ready for a new hashing process with a specified output length. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
BLAKE2b hash algorithm.
+BLAKE2b is a variation on the ChaCha stream cipher, designed for hashing, with a 512-bit hash output. It is intended as a high performance replacement for SHA512 for when speed is critical but exact SHA512 compatibility is not.
+Reference: https://blake2.net/
+ + + +
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ +Definition at line 66 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 159 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 143 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ +Definition at line 172 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ +Definition at line 61 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 81 of file BLAKE2b.cpp.
+ +| void BLAKE2b::reset | +( | +uint8_t | +outputLength | ) | ++ |
Resets the hash ready for a new hashing process with a specified output length.
+| outputLength | The output length to use for the final hash in bytes, between 1 and 64. |
Definition at line 103 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ +Definition at line 165 of file BLAKE2b.cpp.
+ +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 118 of file BLAKE2b.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classBLAKE2b.png b/html/classBLAKE2b.png
new file mode 100644
index 00000000..36e374b9
Binary files /dev/null and b/html/classBLAKE2b.png differ
diff --git a/html/classBLAKE2s-members.html b/html/classBLAKE2s-members.html
new file mode 100644
index 00000000..29370c11
--- /dev/null
+++ b/html/classBLAKE2s-members.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for BLAKE2s, including all inherited members.
+| BLAKE2s() | BLAKE2s | |
| blockSize() const | BLAKE2s | virtual |
| chunkSize (defined in BLAKE2s) | BLAKE2s | |
| clear() | BLAKE2s | virtual |
| finalize(void *hash, size_t len) | BLAKE2s | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | BLAKE2s | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| h (defined in BLAKE2s) | BLAKE2s | |
| Hash() | Hash | |
| hashSize() const | BLAKE2s | virtual |
| length (defined in BLAKE2s) | BLAKE2s | |
| m (defined in BLAKE2s) | BLAKE2s | |
| reset() | BLAKE2s | virtual |
| reset(uint8_t outputLength) | BLAKE2s | |
| resetHMAC(const void *key, size_t keyLen) | BLAKE2s | virtual |
| update(const void *data, size_t len) | BLAKE2s | virtual |
| v (defined in BLAKE2s) | BLAKE2s | |
| ~BLAKE2s() | BLAKE2s | virtual |
| ~Hash() | Hash | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classBLAKE2s.html b/html/classBLAKE2s.html
new file mode 100644
index 00000000..e99bcd40
--- /dev/null
+++ b/html/classBLAKE2s.html
@@ -0,0 +1,544 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
BLAKE2s hash algorithm. + More...
+ +#include <BLAKE2s.h>
+
+ +Public Member Functions | |
| + | BLAKE2s () |
| Constructs a BLAKE2s hash object. | |
| +virtual | ~BLAKE2s () |
| Destroys this BLAKE2s hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | reset (uint8_t outputLength) |
| Resets the hash ready for a new hashing process with a specified output length. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
BLAKE2s hash algorithm.
+BLAKE2s is a variation on the ChaCha stream cipher, designed for hashing, with a 256-bit hash output. It is intended as a high performance replacement for SHA256 for when speed is critical but exact SHA256 compatibility is not.
+Reference: https://blake2.net/
+
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ +Definition at line 66 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 154 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 138 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ +Definition at line 167 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ +Definition at line 61 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 81 of file BLAKE2s.cpp.
+ +| void BLAKE2s::reset | +( | +uint8_t | +outputLength | ) | ++ |
Resets the hash ready for a new hashing process with a specified output length.
+| outputLength | The output length to use for the final hash in bytes, between 1 and 32. |
Definition at line 102 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ +Definition at line 160 of file BLAKE2s.cpp.
+ +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 116 of file BLAKE2s.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classBLAKE2s.png b/html/classBLAKE2s.png
new file mode 100644
index 00000000..e9b75459
Binary files /dev/null and b/html/classBLAKE2s.png differ
diff --git a/html/classBitmap-members.html b/html/classBitmap-members.html
new file mode 100644
index 00000000..35e337b1
--- /dev/null
+++ b/html/classBitmap-members.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Bitmap, including all inherited members.
+| Bitmap(int width, int height) | Bitmap | |
| bitsPerPixel() const | Bitmap | inline |
| Black | Bitmap | static |
| charWidth(char ch) const | Bitmap | |
| clear(Color color=Black) | Bitmap | |
| Color typedef | Bitmap | |
| copy(int x, int y, int width, int height, Bitmap *dest, int destX, int destY) | Bitmap | |
| data() | Bitmap | inline |
| data() const | Bitmap | inline |
| DMD (defined in Bitmap) | Bitmap | friend |
| drawBitmap(int x, int y, const Bitmap &bitmap, Color color=White) | Bitmap | |
| drawBitmap(int x, int y, Bitmap::ProgMem bitmap, Color color=White) | Bitmap | |
| drawChar(int x, int y, char ch) | Bitmap | |
| drawCircle(int centerX, int centerY, int radius, Color borderColor=White, Color fillColor=NoFill) | Bitmap | |
| drawFilledCircle(int centerX, int centerY, int radius, Color color=White) | Bitmap | inline |
| drawFilledRect(int x1, int y1, int x2, int y2, Color color=White) | Bitmap | inline |
| drawInvertedBitmap(int x, int y, const Bitmap &bitmap) | Bitmap | inline |
| drawInvertedBitmap(int x, int y, Bitmap::ProgMem bitmap) | Bitmap | inline |
| drawLine(int x1, int y1, int x2, int y2, Color color=White) | Bitmap | |
| drawRect(int x1, int y1, int x2, int y2, Color borderColor=White, Color fillColor=NoFill) | Bitmap | |
| drawText(int x, int y, const char *str, int len=-1) | Bitmap | |
| drawText(int x, int y, const String &str, int start=0, int len=-1) | Bitmap | |
| fill(int x, int y, int width, int height, Color color) | Bitmap | |
| fill(int x, int y, int width, int height, Bitmap::ProgMem pattern, Color color=White) | Bitmap | |
| font() const | Bitmap | inline |
| Font typedef | Bitmap | |
| height() const | Bitmap | inline |
| invert(int x, int y, int width, int height) | Bitmap | |
| isValid() const | Bitmap | inline |
| NoFill | Bitmap | static |
| pixel(int x, int y) const | Bitmap | |
| ProgMem typedef | Bitmap | |
| scroll(int dx, int dy, Color fillColor=Black) | Bitmap | inline |
| scroll(int x, int y, int width, int height, int dx, int dy, Color fillColor=Black) | Bitmap | |
| setFont(Font font) | Bitmap | inline |
| setPixel(int x, int y, Color color) | Bitmap | |
| setTextColor(Color color) | Bitmap | inline |
| stride() const | Bitmap | inline |
| textColor() const | Bitmap | inline |
| textHeight() const | Bitmap | |
| textWidth(const char *str, int len=-1) const | Bitmap | |
| textWidth(const String &str, int start=0, int len=-1) const | Bitmap | |
| White | Bitmap | static |
| width() const | Bitmap | inline |
| ~Bitmap() | Bitmap |
+ 1.8.6
+
+
+
diff --git a/html/classBitmap.html b/html/classBitmap.html
new file mode 100644
index 00000000..5bade799
--- /dev/null
+++ b/html/classBitmap.html
@@ -0,0 +1,1753 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Represents a monochrome bitmap within main memory. + More...
+ +#include <Bitmap.h>
+
+ +Public Types | |
| typedef uint8_t | Color |
| Type that represents the color of a pixel in a bitmap. More... | |
| +typedef PGM_VOID_P | ProgMem |
| Type that represents a bitmap within program memory. | |
| +typedef PGM_VOID_P | Font |
| Type that represents a font within program memory. | |
+Public Member Functions | |
| Bitmap (int width, int height) | |
| Constructs a new in-memory bitmap that is width x height pixels in size. More... | |
| + | ~Bitmap () |
| Destroys this bitmap. | |
| bool | isValid () const |
| Returns true if the memory for this bitmap is valid; false otherwise. More... | |
| int | width () const |
| Returns the width of the bitmap in pixels. More... | |
| int | height () const |
| Returns the height of the bitmap in pixels. More... | |
| int | stride () const |
| Returns the number of bytes in each line of the bitmap's data() buffer. More... | |
| int | bitsPerPixel () const |
| Returns the number of bits per pixel for the bitmap; always 1. More... | |
| uint8_t * | data () |
| Returns a pointer to the start of the bitmap's data buffer. More... | |
| +const uint8_t * | data () const |
| Returns a constant pointer to the start of the bitmap's data buffer. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | clear (Color color=Black) |
| Clears the entire bitmap to the specified color. More... | |
| Color | pixel (int x, int y) const |
| Returns the color of the pixel at (x, y); either Black or White. More... | |
| void | setPixel (int x, int y, Color color) |
| Sets the pixel at (x, y) to color. More... | |
| void | drawLine (int x1, int y1, int x2, int y2, Color color=White) |
| Draws a line from (x1, y1) to (x2, y2) in color. More... | |
| void | drawRect (int x1, int y1, int x2, int y2, Color borderColor=White, Color fillColor=NoFill) |
| Draws a rectangle from (x1, y1) to (x2, y2), with the outline in borderColor and the interior filled with fillColor. More... | |
| void | drawFilledRect (int x1, int y1, int x2, int y2, Color color=White) |
| Draws a filled rectangle from (x1, y1) to (x2, y2) in color. More... | |
| void | drawCircle (int centerX, int centerY, int radius, Color borderColor=White, Color fillColor=NoFill) |
| Draws a circle with a specific center (centerX, centerY) and radius, with the outline in borderColor and the interior filled with fillColor. More... | |
| void | drawFilledCircle (int centerX, int centerY, int radius, Color color=White) |
| Draws a filled circle with a specific center (centerX, centerY) and radius in color. More... | |
| void | drawBitmap (int x, int y, const Bitmap &bitmap, Color color=White) |
| Draws bitmap at (x, y) in color. More... | |
| void | drawBitmap (int x, int y, Bitmap::ProgMem bitmap, Color color=White) |
| Draws bitmap at (x, y) in color. More... | |
| void | drawInvertedBitmap (int x, int y, const Bitmap &bitmap) |
| Draws bitmap at (x, y) in inverted colors. More... | |
| void | drawInvertedBitmap (int x, int y, Bitmap::ProgMem bitmap) |
| Draws bitmap at (x, y) in inverted colors. More... | |
| Font | font () const |
| Returns the currently selected font, or null if none selected. More... | |
| void | setFont (Font font) |
| Sets the font for use with drawText() and drawChar(). More... | |
| Color | textColor () const |
| Returns the color that will be used for drawing text with drawText() and drawChar(). The default is White. More... | |
| void | setTextColor (Color color) |
| Sets the color that will be used for drawing text with drawText() and drawChar(). More... | |
| void | drawText (int x, int y, const char *str, int len=-1) |
| Draws the len characters of str at (x, y). More... | |
| void | drawText (int x, int y, const String &str, int start=0, int len=-1) |
| Draws len characters starting at start from str to the screen at (x, y). More... | |
| int | drawChar (int x, int y, char ch) |
| Draws a single character ch at (x, y). More... | |
| int | charWidth (char ch) const |
| Returns the width in pixels of ch in the current font(). More... | |
| int | textWidth (const char *str, int len=-1) const |
| Returns the width in pixels of the len characters of str in the current font(), including inter-character spacing. More... | |
| int | textWidth (const String &str, int start=0, int len=-1) const |
| Returns the width in pixels of the len characters of str in the current font(), starting at start, including inter-character spacing. More... | |
| int | textHeight () const |
| Returns the height in pixels of the current text drawing font(); or zero if font() is not set. More... | |
| void | copy (int x, int y, int width, int height, Bitmap *dest, int destX, int destY) |
| Copies the width x height pixels starting at top-left corner (x, y) to (destX, destY) in the bitmap dest. More... | |
| void | fill (int x, int y, int width, int height, Color color) |
| Fills the width x height pixels starting at top-left corner (x, y) with color. More... | |
| void | fill (int x, int y, int width, int height, Bitmap::ProgMem pattern, Color color=White) |
| Fills the width x height pixels starting at top-left corner (x, y) with the contents of pattern. More... | |
| void | scroll (int dx, int dy, Color fillColor=Black) |
| Scrolls the entire contents of the bitmap by dx and dy. More... | |
| void | scroll (int x, int y, int width, int height, int dx, int dy, Color fillColor=Black) |
| Scrolls the width x height pixels starting at top-left corner (x, y) by dx and dy. More... | |
| void | invert (int x, int y, int width, int height) |
| Inverts the width x height pixels starting at top-left corner (x, y). More... | |
+Static Public Attributes | |
| +static const Color | Black = 0 |
| Color value corresponding to "black". | |
| static const Color | White = 1 |
| Color value corresponding to "white". If the bitmap is displayed on a LED array, then it may have a different physical color. More... | |
| +static const Color | NoFill = 2 |
| Special color value that is used with drawRect() and drawCircle() to indicate that the interior of the shape should not be filled. For all other uses, NoFill is equivalent to White. | |
+Friends | |
| +class | DMD |
Represents a monochrome bitmap within main memory.
+Bitmaps are a rectangular arrangement of width() x height() pixels, with each pixel set to either Black or White. The co-ordinate system has origin (0, 0) at the top-left of the bitmap.
+Functions within this class can be used to draw various shapes into the bitmap's data() buffer; e.g. drawLine(), drawRect(), drawBitmap(), drawText(), clear(), fill(), etc.
+| Bitmap::Color | +
| Bitmap::Bitmap | +( | +int | +width, | +
| + | + | int | +height | +
| + | ) | ++ |
Constructs a new in-memory bitmap that is width x height pixels in size.
+ + +Definition at line 88 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
| int Bitmap::charWidth | +( | +char | +ch | ) | +const | +
Returns the width in pixels of ch in the current font().
+Returns zero if font() is not set, or ch is not present in font().
+Definition at line 650 of file Bitmap.cpp.
+ +Clears the entire bitmap to the specified color.
+Definition at line 174 of file Bitmap.cpp.
+ +| void Bitmap::copy | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | int | +width, | +
| + | + | int | +height, | +
| + | + | Bitmap * | +dest, | +
| + | + | int | +destX, | +
| + | + | int | +destY | +
| + | ) | ++ |
Copies the width x height pixels starting at top-left corner (x, y) to (destX, destY) in the bitmap dest.
+The dest bitmap can be the same as this object, in which case the copy will be performed in a manner that correctly handles overlapping regions.
+If some part of the source region is outside the bounds of this object, then the value Black will be copied to dest for those pixels. This can be used to produce a behaviour similar to scroll() when bitmap is the same as this object.
+Definition at line 738 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
Returns a pointer to the start of the bitmap's data buffer.
+The data is organized as height() lines of stride() bytes, laid out horizontally across the extent of width() pixels. The most significant bit in each byte has the lowest x value.
+Note: bits within the data are 1 for Black and 0 for White, which is the reverse of the constant values. This differs from pixel() which returns the correct constant.
+ + + + +| void Bitmap::drawBitmap | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | const Bitmap & | +bitmap, | +
| + | + | Color | +color = White |
+
| + | ) | ++ |
Draws bitmap at (x, y) in color.
+Bits that are set to White in the bitmap are drawn with color. Bits that are set to Black in the bitmap are drawn with the inverse of color. The pixel at (x, y) will be the top-left corner of the drawn image.
+Note: bitmap must not be the same as this object or the behaviour will be undefined. To copy a region of a bitmap to elsewhere within the same bitmap, use copy() instead.
+Definition at line 388 of file Bitmap.cpp.
+ +| void Bitmap::drawBitmap | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | Bitmap::ProgMem | +bitmap, | +
| + | + | Color | +color = White |
+
| + | ) | ++ |
Draws bitmap at (x, y) in color.
+The bitmap must point to program memory. The first two bytes are the width and height of the bitmap in pixels. The rest of the data contains the pixels for the bitmap, with lines byte-aligned.
+Bits that are 1 in the bitmap are drawn with color. Bits that are 0 in the bitmap are drawn with the inverse of color. The pixel at (x, y) will be the top-left corner of the drawn image.
+Definition at line 425 of file Bitmap.cpp.
+ +| int Bitmap::drawChar | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | char | +ch | +
| + | ) | ++ |
Draws a single character ch at (x, y).
+Returns the width of the character in pixels so that higher-order functions like drawText() can advance x to the location of the next character to be drawn. The width does not include inter-character spacing.
+The position (x, y) will be the upper-left pixel of the drawn character.
+Definition at line 585 of file Bitmap.cpp.
+ +| void Bitmap::drawCircle | +( | +int | +centerX, | +
| + | + | int | +centerY, | +
| + | + | int | +radius, | +
| + | + | Color | +borderColor = White, |
+
| + | + | Color | +fillColor = NoFill |
+
| + | ) | ++ |
Draws a circle with a specific center (centerX, centerY) and radius, with the outline in borderColor and the interior filled with fillColor.
+If fillColor is NoFill, then the interior is not filled.
+Definition at line 334 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
Draws a filled circle with a specific center (centerX, centerY) and radius in color.
+This is a convenience function that is equivalent to drawCircle(centerX, centerY, radius, color, color).
+
+
|
+ +inline | +
Draws a filled rectangle from (x1, y1) to (x2, y2) in color.
+This is a convenience function that is equivalent to drawRect(x1, y1, x2, y2, color, color).
+
+
|
+ +inline | +
Draws bitmap at (x, y) in inverted colors.
+This is a convenience function that is equivalent to drawBitmap(x, y, bitmap, Black).
+
+
|
+ +inline | +
Draws bitmap at (x, y) in inverted colors.
+This is a convenience function that is equivalent to drawBitmap(x, y, bitmap, Black).
+| void Bitmap::drawLine | +( | +int | +x1, | +
| + | + | int | +y1, | +
| + | + | int | +x2, | +
| + | + | int | +y2, | +
| + | + | Color | +color = White |
+
| + | ) | ++ |
Draws a line from (x1, y1) to (x2, y2) in color.
+Definition at line 225 of file Bitmap.cpp.
+ +| void Bitmap::drawRect | +( | +int | +x1, | +
| + | + | int | +y1, | +
| + | + | int | +x2, | +
| + | + | int | +y2, | +
| + | + | Color | +borderColor = White, |
+
| + | + | Color | +fillColor = NoFill |
+
| + | ) | ++ |
Draws a rectangle from (x1, y1) to (x2, y2), with the outline in borderColor and the interior filled with fillColor.
+If fillColor is NoFill, then the interior is not filled.
+Definition at line 286 of file Bitmap.cpp.
+ +| void Bitmap::drawText | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | const char * | +str, | +
| + | + | int | +len = -1 |
+
| + | ) | ++ |
Draws the len characters of str at (x, y).
+If len is less than zero, then the actual length of str will be used.
+The position (x, y) will be the upper-left pixel of the first character that is drawn.
+Definition at line 526 of file Bitmap.cpp.
+ +| void Bitmap::drawText | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | const String & | +str, | +
| + | + | int | +start = 0, |
+
| + | + | int | +len = -1 |
+
| + | ) | ++ |
Draws len characters starting at start from str to the screen at (x, y).
+If len is less than zero, then the actual length of str will be used.
+The position (x, y) will be the upper-left pixel of the first character that is drawn.
+Definition at line 555 of file Bitmap.cpp.
+ +| void Bitmap::fill | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | int | +width, | +
| + | + | int | +height, | +
| + | + | Color | +color | +
| + | ) | ++ |
Fills the width x height pixels starting at top-left corner (x, y) with color.
+Definition at line 762 of file Bitmap.cpp.
+ +| void Bitmap::fill | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | int | +width, | +
| + | + | int | +height, | +
| + | + | Bitmap::ProgMem | +pattern, | +
| + | + | Color | +color = White |
+
| + | ) | ++ |
Fills the width x height pixels starting at top-left corner (x, y) with the contents of pattern.
+The pattern must point to program memory. The first two bytes are the width and height of the pattern in pixels. The rest of the data contains the pixels for the pattern, with lines byte-aligned.
+Bits that are 1 in the pattern are drawn with color. Bits that are 0 in the pattern are drawn with the inverse of color.
+Definition at line 785 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
Returns the currently selected font, or null if none selected.
+
+
|
+ +inline | +
Returns the height of the bitmap in pixels.
+| void Bitmap::invert | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | int | +width, | +
| + | + | int | +height | +
| + | ) | ++ |
Inverts the width x height pixels starting at top-left corner (x, y).
+Definition at line 902 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
| Bitmap::Color Bitmap::pixel | +( | +int | +x, | +
| + | + | int | +y | +
| + | ) | +const | +
Returns the color of the pixel at (x, y); either Black or White.
+Returns Black if x or y is out of range.
+Definition at line 191 of file Bitmap.cpp.
+ +| void Bitmap::scroll | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | int | +width, | +
| + | + | int | +height, | +
| + | + | int | +dx, | +
| + | + | int | +dy, | +
| + | + | Color | +fillColor = Black |
+
| + | ) | ++ |
Scrolls the width x height pixels starting at top-left corner (x, y) by dx and dy.
+If dx is 2 and dy is -1, then the region will be scrolled two pixels to the right and one pixel up. Pixels that are uncovered by the scroll are filled with fillColor.
+ + +Definition at line 841 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
Sets the font for use with drawText() and drawChar().
+New fonts can be generated with GLCDFontCreator2.
+| void Bitmap::setPixel | +( | +int | +x, | +
| + | + | int | +y, | +
| + | + | Color | +color | +
| + | ) | ++ |
Sets the pixel at (x, y) to color.
+Definition at line 208 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
Sets the color that will be used for drawing text with drawText() and drawChar().
+
+
|
+ +inline | +
+
|
+ +inline | +
Returns the color that will be used for drawing text with drawText() and drawChar(). The default is White.
+| int Bitmap::textHeight | +( | +) | +const | +
Returns the height in pixels of the current text drawing font(); or zero if font() is not set.
+Definition at line 716 of file Bitmap.cpp.
+ +| int Bitmap::textWidth | +( | +const char * | +str, | +
| + | + | int | +len = -1 |
+
| + | ) | +const | +
Returns the width in pixels of the len characters of str in the current font(), including inter-character spacing.
+If len is less than zero, then the actual length of str will be used.
+Definition at line 675 of file Bitmap.cpp.
+ +| int Bitmap::textWidth | +( | +const String & | +str, | +
| + | + | int | +start = 0, |
+
| + | + | int | +len = -1 |
+
| + | ) | +const | +
Returns the width in pixels of the len characters of str in the current font(), starting at start, including inter-character spacing.
+If len is less than zero, then the actual length of str will be used.
+Definition at line 697 of file Bitmap.cpp.
+ +
+
|
+ +inline | +
Returns the width of the bitmap in pixels.
+
+
|
+ +static | +
Color value corresponding to "white". If the bitmap is displayed on a LED array, then it may have a different physical color.
+Note: while the value of this constant is 1, the bitmap itself stores white pixels as 0 and black as 1 because the DMD display uses 1 to indicate a pixel being off.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classBitmap.png b/html/classBitmap.png
new file mode 100644
index 00000000..73ac3b30
Binary files /dev/null and b/html/classBitmap.png differ
diff --git a/html/classBlinkLED-members.html b/html/classBlinkLED-members.html
new file mode 100644
index 00000000..5ff2078b
--- /dev/null
+++ b/html/classBlinkLED-members.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for BlinkLED, including all inherited members.
+| BlinkLED(uint8_t pin, unsigned long onTime, unsigned long offTime, bool initialState=false) | BlinkLED | |
| isPaused() const | BlinkLED | inline |
| loop() | BlinkLED | |
| offTime() const | BlinkLED | inline |
| onTime() const | BlinkLED | inline |
| pause() | BlinkLED | inline |
| resume() | BlinkLED | |
| setBlinkRate(unsigned long onTime, unsigned long offTime) | BlinkLED | |
| setState(bool state) | BlinkLED | |
| state() const | BlinkLED | inline |
+ 1.8.6
+
+
+
diff --git a/html/classBlinkLED.html b/html/classBlinkLED.html
new file mode 100644
index 00000000..53e8adbd
--- /dev/null
+++ b/html/classBlinkLED.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Blink a LED on a digital output pin. + More...
+ +#include <BlinkLED.h>
+Public Member Functions | |
| BlinkLED (uint8_t pin, unsigned long onTime, unsigned long offTime, bool initialState=false) | |
| Initialize a blinking LED on the specified pin. More... | |
| void | loop () |
| unsigned long | onTime () const |
| Returns the number of milliseconds the LED will be on. More... | |
| unsigned long | offTime () const |
| Returns the number of milliseconds the LED will be off. More... | |
| void | setBlinkRate (unsigned long onTime, unsigned long offTime) |
| Sets the onTime and offTime (in milliseconds). More... | |
| bool | state () const |
| Returns the current state of the LED; true is on, false is off. More... | |
| void | setState (bool state) |
| Sets the current state of the LED, where true is on, false is off. More... | |
| void | pause () |
| Pauses the LED blink cycle in its current state(). More... | |
| void | resume () |
| Resumes the LED blink cycle after a pause(). More... | |
| bool | isPaused () const |
| Returns true if the LED blink cycle is paused; false otherwise. More... | |
Blink a LED on a digital output pin.
+BlinkLED simplies the process of blinking a LED by encapsulating the control logic into a single class. The following example strobes the status LED on D13 with a period of 70 milliseconds on, 930 milliseconds off (the LED is initially off):
+The current state() of the LED can be changed immediately by calling setState(). The blink rate can be modified with setBlinkRate(). And the blink cycle can be suspended and restarted with pause() and resume().
+ +Definition at line 28 of file BlinkLED.h.
+| BlinkLED::BlinkLED | +( | +uint8_t | +pin, | +
| + | + | unsigned long | +onTime, | +
| + | + | unsigned long | +offTime, | +
| + | + | bool | +initialState = false |
+
| + | ) | ++ |
Initialize a blinking LED on the specified pin.
+The LED will blink with a rate defined by onTime and offTime (in milliseconds). Initially the LED's state is given by initialState, where true means initially on and false means initially off.
+ +Definition at line 64 of file BlinkLED.cpp.
+ +
+
|
+ +inline | +
Returns true if the LED blink cycle is paused; false otherwise.
+ + +Definition at line 44 of file BlinkLED.h.
+ +| void BlinkLED::loop | +( | +) | ++ |
Perform a single iteration of the blink loop for this LED.
+ +Definition at line 79 of file BlinkLED.cpp.
+ +
+
|
+ +inline | +
Returns the number of milliseconds the LED will be off.
+Definition at line 36 of file BlinkLED.h.
+ +
+
|
+ +inline | +
Returns the number of milliseconds the LED will be on.
+Definition at line 35 of file BlinkLED.h.
+ +
+
|
+ +inline | +
Pauses the LED blink cycle in its current state().
+Definition at line 42 of file BlinkLED.h.
+ +| void BlinkLED::resume | +( | +) | ++ |
Resumes the LED blink cycle after a pause().
+The LED will complete its current onTime() or offTime() and then will switch to the opposite state(). If onTime() or offTime() has already expired, then the LED will immediately switch state.
+Definition at line 170 of file BlinkLED.cpp.
+ +| void BlinkLED::setBlinkRate | +( | +unsigned long | +onTime, | +
| + | + | unsigned long | +offTime | +
| + | ) | ++ |
| void BlinkLED::setState | +( | +bool | +state | ) | ++ |
Sets the current state of the LED, where true is on, false is off.
+If the LED is already set to state, then it will complete its current cycle of onTime() or offTime(). Otherwise the LED is immediately set to state and a new cycle begins.
+Definition at line 145 of file BlinkLED.cpp.
+ +
+
|
+ +inline | +
Returns the current state of the LED; true is on, false is off.
+Definition at line 39 of file BlinkLED.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classBlockCipher-members.html b/html/classBlockCipher-members.html
new file mode 100644
index 00000000..6e6d95c2
--- /dev/null
+++ b/html/classBlockCipher-members.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for BlockCipher, including all inherited members.
+| BlockCipher() | BlockCipher | |
| blockSize() const =0 | BlockCipher | pure virtual |
| clear()=0 | BlockCipher | pure virtual |
| decryptBlock(uint8_t *output, const uint8_t *input)=0 | BlockCipher | pure virtual |
| encryptBlock(uint8_t *output, const uint8_t *input)=0 | BlockCipher | pure virtual |
| keySize() const =0 | BlockCipher | pure virtual |
| setKey(const uint8_t *key, size_t len)=0 | BlockCipher | pure virtual |
| ~BlockCipher() | BlockCipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classBlockCipher.html b/html/classBlockCipher.html
new file mode 100644
index 00000000..ae86fe50
--- /dev/null
+++ b/html/classBlockCipher.html
@@ -0,0 +1,415 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Abstract base class for block ciphers. + More...
+ +#include <BlockCipher.h>
+
+ +Public Member Functions | |
| + | BlockCipher () |
| Constructs a block cipher. | |
| virtual | ~BlockCipher () |
| Destroys this block cipher object. More... | |
| virtual size_t | blockSize () const =0 |
| Size of a single block processed by this cipher, in bytes. More... | |
| virtual size_t | keySize () const =0 |
| Default size of the key for this block cipher, in bytes. More... | |
| virtual bool | setKey (const uint8_t *key, size_t len)=0 |
| Sets the key to use for future encryption and decryption operations. More... | |
| virtual void | encryptBlock (uint8_t *output, const uint8_t *input)=0 |
| Encrypts a single block using this cipher. More... | |
| virtual void | decryptBlock (uint8_t *output, const uint8_t *input)=0 |
| Decrypts a single block using this cipher. More... | |
| virtual void | clear ()=0 |
| Clears all security-sensitive state from this block cipher. More... | |
Abstract base class for block ciphers.
+Block ciphers always operate in electronic codebook (ECB) mode. Higher-level classes such as CFB128 and CTR128 wrap the block cipher to create more useful classes for encryption and decryption of bulk data.
+References: http://en.wikipedia.org/wiki/Block_cipher, http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
+ +Definition at line 29 of file BlockCipher.h.
+
+
|
+ +virtual | +
Destroys this block cipher object.
+Subclasses are responsible for clearing temporary key schedules and other buffers so as to avoid leaking sensitive information.
+Definition at line 52 of file BlockCipher.cpp.
+ +
+
|
+ +pure virtual | +
Size of a single block processed by this cipher, in bytes.
+Implemented in AESCommon.
+ +
+
|
+ +pure virtual | +
Clears all security-sensitive state from this block cipher.
+Security-sensitive information includes key schedules and any temporary state that is used by encryptBlock() or decryptBlock() which is stored in the object itself.
+Implemented in AESCommon.
+ +
+
|
+ +pure virtual | +
Decrypts a single block using this cipher.
+| output | The output buffer to put the plaintext into. Must be at least blockSize() bytes in length. |
| input | The input buffer to read the ciphertext from which is allowed to overlap with output. Must be at least blockSize() bytes in length. |
Implemented in AESCommon.
+ +
+
|
+ +pure virtual | +
Encrypts a single block using this cipher.
+| output | The output buffer to put the ciphertext into. Must be at least blockSize() bytes in length. |
| input | The input buffer to read the plaintext from which is allowed to overlap with output. Must be at least blockSize() bytes in length. |
Implemented in AESCommon.
+ +
+
|
+ +pure virtual | +
Default size of the key for this block cipher, in bytes.
+This value indicates the default, or recommended, size for the key.
+
+
|
+ +pure virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+ + + + +
+ 1.8.6
+
+
+
diff --git a/html/classBlockCipher.png b/html/classBlockCipher.png
new file mode 100644
index 00000000..ca1eceba
Binary files /dev/null and b/html/classBlockCipher.png differ
diff --git a/html/classBoolField-members.html b/html/classBoolField-members.html
new file mode 100644
index 00000000..f91603c4
--- /dev/null
+++ b/html/classBoolField-members.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for BoolField, including all inherited members.
+| BoolField(const String &label) | BoolField | explicit |
| BoolField(Form &form, const String &label, const String &trueLabel, const String &falseLabel, bool value) | BoolField | |
| dispatch(int event) | BoolField | virtual |
| enterField(bool reverse) | BoolField | virtual |
| exitField() | Field | virtual |
| falseLabel() const | BoolField | inline |
| Field(const String &label) | Field | explicit |
| Field(Form &form, const String &label) | Field | |
| form() const | Field | inline |
| isCurrent() const | Field | |
| label() const | Field | inline |
| lcd() const | Field | inlineprotected |
| setFalseLabel(const String &falseLabel) | BoolField | |
| setLabel(const String &label) | Field | |
| setTrueLabel(const String &trueLabel) | BoolField | |
| setValue(bool value) | BoolField | |
| trueLabel() const | BoolField | inline |
| updateCursor() | Field | protectedvirtual |
| value() const | BoolField | inline |
| ~Field() | Field |
+ 1.8.6
+
+
+
diff --git a/html/classBoolField.html b/html/classBoolField.html
new file mode 100644
index 00000000..85f6e781
--- /dev/null
+++ b/html/classBoolField.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Field that manages the input of a boolean value. + More...
+ +#include <BoolField.h>
+
+ +Public Member Functions | |
| BoolField (const String &label) | |
| Constructs a new boolean field with a specific label. More... | |
| BoolField (Form &form, const String &label, const String &trueLabel, const String &falseLabel, bool value) | |
| Constructs a new boolean field with a specific label and attaches it to a form. More... | |
| int | dispatch (int event) |
| Dispatches event via this field. More... | |
| void | enterField (bool reverse) |
| Enters the field due to form navigation. More... | |
| bool | value () const |
| Returns the current value of this field, true or false. More... | |
| void | setValue (bool value) |
| Sets the current value of this field to value. More... | |
| const String & | trueLabel () const |
| Returns the string that is displayed when value() is true. More... | |
| void | setTrueLabel (const String &trueLabel) |
| Sets the string that is displayed when value() is true to trueLabel. More... | |
| const String & | falseLabel () const |
| Returns the string that is displayed when value() is false. More... | |
| void | setFalseLabel (const String &falseLabel) |
| Sets the string that is displayed when value() is false to falseLabel. More... | |
Public Member Functions inherited from Field | |
| Field (const String &label) | |
| Constructs a new field with a specific label. More... | |
| + | Field (Form &form, const String &label) |
| Constructs a new field with a specific label and attaches it to a form. | |
| ~Field () | |
| Destroys this field and removes it from its owning Form. More... | |
| +Form * | form () const |
| Returns the Form that owns this field; null if not associated with a Form. | |
| virtual void | exitField () |
| Exits the field due to form navigation. More... | |
| const String & | label () const |
| Returns the label to display in the first line of this field. More... | |
| void | setLabel (const String &label) |
| Sets the label to display in the first line of this field. More... | |
| bool | isCurrent () const |
| Returns true if this field is the currently-displayed field in its owning form; false otherwise. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Field | |
| +LiquidCrystal * | lcd () const |
| Returns the LCD that this field is being drawn on. | |
| virtual void | updateCursor () |
| Updates the cursor position after the label has been drawn by setLabel(). More... | |
Field that manages the input of a boolean value.
+BoolField is intended for field values that are modifiable by the user. Pressing one of Up or Down will toggle the field's current value.
+The following example creates a boolean field that shows the state of the status LED on D13. When the LED is on (the default), the string "On" will be displayed on the LCD screen. When the LED is off, the string "Off" will be displayed instead.
+
+To actually toggle the LED, the application's main loop() function should contain the following code:
+Use TextField for read-only fields that report boolean values but which are not modifiable by the user.
+ListField can be used to select between more than two items.
+ + +Definition at line 28 of file BoolField.h.
+
+
|
+ +explicit | +
Constructs a new boolean field with a specific label.
+The field is initially not associated with a Form. The field can be added to a form later using Form::addField().
+The initial value() will be false.
+Definition at line 77 of file BoolField.cpp.
+ +| BoolField::BoolField | +( | +Form & | +form, | +
| + | + | const String & | +label, | +
| + | + | const String & | +trueLabel, | +
| + | + | const String & | +falseLabel, | +
| + | + | bool | +value | +
| + | ) | ++ |
Constructs a new boolean field with a specific label and attaches it to a form.
+The initial value() of the field is set to the parameter value. When value() is true, trueLabel will be displayed on the screen. When value() is false, falseLabel will be displayed on the screen.
+Definition at line 94 of file BoolField.cpp.
+ +
+
|
+ +virtual | +
Dispatches event via this field.
+The event is usually obtained from LCD::getButton().
+Returns zero if the event has been handled and no further action is required.
+Returns FORM_CHANGED if the event has changed the value of this field in a manner that may require the application to take further action based on the new field value.
+Returns -1 if the event is not handled by this field, and should be handled by the Form itself (particularly for Left and Right buttons). The default implementation returns -1 for all events.
+Reimplemented from Field.
+ +Definition at line 103 of file BoolField.cpp.
+ +
+
|
+ +virtual | +
Enters the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate to the field. If reverse is true, then navigation was due to the Left button being pressed.
+This function can assume that the display has been cleared and the cursor is positioned at (0, 0).
+The default implementation prints the label().
+Reimplemented from Field.
+ +Definition at line 113 of file BoolField.cpp.
+ +
+
|
+ +inline | +
Returns the string that is displayed when value() is false.
+Definition at line 43 of file BoolField.h.
+ +| void BoolField::setFalseLabel | +( | +const String & | +falseLabel | ) | ++ |
Sets the string that is displayed when value() is false to falseLabel.
+Definition at line 173 of file BoolField.cpp.
+ +| void BoolField::setTrueLabel | +( | +const String & | +trueLabel | ) | ++ |
Sets the string that is displayed when value() is true to trueLabel.
+Definition at line 153 of file BoolField.cpp.
+ +| void BoolField::setValue | +( | +bool | +value | ) | ++ |
Sets the current value of this field to value.
+Definition at line 131 of file BoolField.cpp.
+ +
+
|
+ +inline | +
Returns the string that is displayed when value() is true.
+Definition at line 40 of file BoolField.h.
+ +
+
|
+ +inline | +
Returns the current value of this field, true or false.
+Definition at line 37 of file BoolField.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classBoolField.png b/html/classBoolField.png
new file mode 100644
index 00000000..4f5281de
Binary files /dev/null and b/html/classBoolField.png differ
diff --git a/html/classCBC-members.html b/html/classCBC-members.html
new file mode 100644
index 00000000..77d1a70f
--- /dev/null
+++ b/html/classCBC-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for CBC< T >, including all inherited members.
+| CBC() | CBC< T > | inline |
| CBCCommon() | CBCCommon | protected |
| Cipher() | Cipher | |
| clear() | CBCCommon | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | CBCCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | CBCCommon | virtual |
| ivSize() const | CBCCommon | virtual |
| keySize() const | CBCCommon | virtual |
| setBlockCipher(BlockCipher *cipher) | CBCCommon | inlineprotected |
| setIV(const uint8_t *iv, size_t len) | CBCCommon | virtual |
| setKey(const uint8_t *key, size_t len) | CBCCommon | virtual |
| ~CBCCommon() | CBCCommon | virtual |
| ~Cipher() | Cipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCBC.html b/html/classCBC.html
new file mode 100644
index 00000000..a4ab5aef
--- /dev/null
+++ b/html/classCBC.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Implementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers. + More...
+ +#include <CBC.h>
+
+ +Public Member Functions | |
| + | CBC () |
| Constructs a new CBC object for the block cipher T. | |
Public Member Functions inherited from CBCCommon | |
| +virtual | ~CBCCommon () |
| Destroys this cipher object after clearing sensitive information. | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from CBCCommon | |
| CBCCommon () | |
| Constructs a new cipher in CBC mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this CBC object. More... | |
Implementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers.
+The template parameter T must be a concrete subclass of BlockCipher indicating the specific block cipher to use. T must have a block size of 16 bytes (128 bits).
+For example, the following creates a CBC object using AES192 as the underlying cipher:
+Decryption is similar:
+The size of the ciphertext will always be the same as the size of the plaintext. Also, the length of the plaintext/ciphertext must be a multiple of 16. Extra bytes are ignored and not encrypted. The caller is responsible for padding the underlying data to a multiple of 16 using an appropriate padding scheme for the application.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classCBC.png b/html/classCBC.png
new file mode 100644
index 00000000..3d582b6d
Binary files /dev/null and b/html/classCBC.png differ
diff --git a/html/classCBCCommon-members.html b/html/classCBCCommon-members.html
new file mode 100644
index 00000000..45410fdf
--- /dev/null
+++ b/html/classCBCCommon-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for CBCCommon, including all inherited members.
+| CBCCommon() | CBCCommon | protected |
| Cipher() | Cipher | |
| clear() | CBCCommon | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | CBCCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | CBCCommon | virtual |
| ivSize() const | CBCCommon | virtual |
| keySize() const | CBCCommon | virtual |
| setBlockCipher(BlockCipher *cipher) | CBCCommon | inlineprotected |
| setIV(const uint8_t *iv, size_t len) | CBCCommon | virtual |
| setKey(const uint8_t *key, size_t len) | CBCCommon | virtual |
| ~CBCCommon() | CBCCommon | virtual |
| ~Cipher() | Cipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCBCCommon.html b/html/classCBCCommon.html
new file mode 100644
index 00000000..591ecffb
--- /dev/null
+++ b/html/classCBCCommon.html
@@ -0,0 +1,542 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Concrete base class to assist with implementing CBC for 128-bit block ciphers. + More...
+ +#include <CBC.h>
+
+ +Public Member Functions | |
| +virtual | ~CBCCommon () |
| Destroys this cipher object after clearing sensitive information. | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Protected Member Functions | |
| CBCCommon () | |
| Constructs a new cipher in CBC mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this CBC object. More... | |
Concrete base class to assist with implementing CBC for 128-bit block ciphers.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+
+
|
+ +protected | +
Constructs a new cipher in CBC mode.
+This constructor should be followed by a call to setBlockCipher().
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Decrypts an input buffer and writes the plaintext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to decrypt. |
The decrypt() function can be called multiple times with different regions of the ciphertext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Encrypts an input buffer and writes the ciphertext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to encrypt. |
The encrypt() function can be called multiple times with different regions of the plaintext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
+
|
+ +inlineprotected | +
+
|
+ +virtual | +
Sets the initialization vector to use for future encryption and decryption operations.
+| iv | The initialization vector to use. |
| len | The length of the initialization vector in bytes. |
Initialization vectors should be set before the first call to encrypt() or decrypt() after a setKey() call. If the initialization vector is changed after encryption or decryption begins, then the behaviour is undefined.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key in bytes. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+Calling setKey() resets the cipher. Any temporary data that was being retained for encrypting partial blocks will be abandoned.
+ + +Implements Cipher.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classCBCCommon.png b/html/classCBCCommon.png
new file mode 100644
index 00000000..fe4e7c65
Binary files /dev/null and b/html/classCBCCommon.png differ
diff --git a/html/classCFB-members.html b/html/classCFB-members.html
new file mode 100644
index 00000000..15c7c77c
--- /dev/null
+++ b/html/classCFB-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for CFB< T >, including all inherited members.
+| CFB() | CFB< T > | inline |
| CFBCommon() | CFBCommon | protected |
| Cipher() | Cipher | |
| clear() | CFBCommon | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | CFBCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | CFBCommon | virtual |
| ivSize() const | CFBCommon | virtual |
| keySize() const | CFBCommon | virtual |
| setBlockCipher(BlockCipher *cipher) | CFBCommon | inlineprotected |
| setIV(const uint8_t *iv, size_t len) | CFBCommon | virtual |
| setKey(const uint8_t *key, size_t len) | CFBCommon | virtual |
| ~CFBCommon() | CFBCommon | virtual |
| ~Cipher() | Cipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCFB.html b/html/classCFB.html
new file mode 100644
index 00000000..42e6c942
--- /dev/null
+++ b/html/classCFB.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Implementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers. + More...
+ +#include <CFB.h>
+
+ +Public Member Functions | |
| + | CFB () |
| Constructs a new CFB object for the block cipher T. | |
Public Member Functions inherited from CFBCommon | |
| +virtual | ~CFBCommon () |
| Destroys this cipher object after clearing sensitive information. | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from CFBCommon | |
| CFBCommon () | |
| Constructs a new cipher in CFB mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this CFB object. More... | |
Implementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers.
+The template parameter T must be a concrete subclass of BlockCipher indicating the specific block cipher to use. T must have a block size of 16 bytes (128 bits). The size of the CFB shift register is the same as the block size.
+For example, the following creates a CFB object using AES192 as the underlying cipher:
+Decryption is similar:
+The size of the ciphertext will always be the same as the size of the plaintext.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classCFB.png b/html/classCFB.png
new file mode 100644
index 00000000..fa4a4b50
Binary files /dev/null and b/html/classCFB.png differ
diff --git a/html/classCFBCommon-members.html b/html/classCFBCommon-members.html
new file mode 100644
index 00000000..6ecf5eaf
--- /dev/null
+++ b/html/classCFBCommon-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for CFBCommon, including all inherited members.
+| CFBCommon() | CFBCommon | protected |
| Cipher() | Cipher | |
| clear() | CFBCommon | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | CFBCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | CFBCommon | virtual |
| ivSize() const | CFBCommon | virtual |
| keySize() const | CFBCommon | virtual |
| setBlockCipher(BlockCipher *cipher) | CFBCommon | inlineprotected |
| setIV(const uint8_t *iv, size_t len) | CFBCommon | virtual |
| setKey(const uint8_t *key, size_t len) | CFBCommon | virtual |
| ~CFBCommon() | CFBCommon | virtual |
| ~Cipher() | Cipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCFBCommon.html b/html/classCFBCommon.html
new file mode 100644
index 00000000..8e80da1e
--- /dev/null
+++ b/html/classCFBCommon.html
@@ -0,0 +1,542 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Concrete base class to assist with implementing CFB for 128-bit block ciphers. + More...
+ +#include <CFB.h>
+
+ +Public Member Functions | |
| +virtual | ~CFBCommon () |
| Destroys this cipher object after clearing sensitive information. | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Protected Member Functions | |
| CFBCommon () | |
| Constructs a new cipher in CFB mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this CFB object. More... | |
Concrete base class to assist with implementing CFB for 128-bit block ciphers.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+
+
|
+ +protected | +
Constructs a new cipher in CFB mode.
+This constructor should be followed by a call to setBlockCipher().
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Decrypts an input buffer and writes the plaintext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to decrypt. |
The decrypt() function can be called multiple times with different regions of the ciphertext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Encrypts an input buffer and writes the ciphertext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to encrypt. |
The encrypt() function can be called multiple times with different regions of the plaintext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
+
|
+ +inlineprotected | +
+
|
+ +virtual | +
Sets the initialization vector to use for future encryption and decryption operations.
+| iv | The initialization vector to use. |
| len | The length of the initialization vector in bytes. |
Initialization vectors should be set before the first call to encrypt() or decrypt() after a setKey() call. If the initialization vector is changed after encryption or decryption begins, then the behaviour is undefined.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key in bytes. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+Calling setKey() resets the cipher. Any temporary data that was being retained for encrypting partial blocks will be abandoned.
+ + +Implements Cipher.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classCFBCommon.png b/html/classCFBCommon.png
new file mode 100644
index 00000000..25f7ce1e
Binary files /dev/null and b/html/classCFBCommon.png differ
diff --git a/html/classCTR-members.html b/html/classCTR-members.html
new file mode 100644
index 00000000..e34c4a11
--- /dev/null
+++ b/html/classCTR-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for CTR< T >, including all inherited members.
+| Cipher() | Cipher | |
| clear() | CTRCommon | virtual |
| CTR() | CTR< T > | inline |
| CTRCommon() | CTRCommon | protected |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | CTRCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | CTRCommon | virtual |
| ivSize() const | CTRCommon | virtual |
| keySize() const | CTRCommon | virtual |
| setBlockCipher(BlockCipher *cipher) | CTRCommon | inlineprotected |
| setCounterSize(size_t size) | CTRCommon | |
| setIV(const uint8_t *iv, size_t len) | CTRCommon | virtual |
| setKey(const uint8_t *key, size_t len) | CTRCommon | virtual |
| ~Cipher() | Cipher | virtual |
| ~CTRCommon() (defined in CTRCommon) | CTRCommon | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCTR.html b/html/classCTR.html
new file mode 100644
index 00000000..c2325235
--- /dev/null
+++ b/html/classCTR.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Implementation of the Counter (CTR) mode for 128-bit block ciphers. + More...
+ +#include <CTR.h>
+
+ +Public Member Functions | |
| + | CTR () |
| Constructs a new CTR object for the 128-bit block cipher T. | |
Public Member Functions inherited from CTRCommon | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setCounterSize (size_t size) |
| Sets the counter size for the IV. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initial counter value to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from CTRCommon | |
| CTRCommon () | |
| Constructs a new cipher in CTR mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this CTR object. More... | |
Implementation of the Counter (CTR) mode for 128-bit block ciphers.
+Counter mode converts a block cipher into a stream cipher. The specific block cipher is passed as the template parameter T and the key is specified via the setKey() function.
+Keystream blocks are generated by encrypting an increasing counter value and XOR'ing it with each byte of input. The encrypt() and decrypt() operations are identical.
+The template parameter T must be a concrete subclass of BlockCipher indicating the specific block cipher to use. For example, the following creates a CTR object using AES256 as the underlying cipher:
+In this example, the last 4 bytes of the IV are incremented to count blocks. The remaining bytes are left unchanged from block to block.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classCTR.png b/html/classCTR.png
new file mode 100644
index 00000000..13dfca43
Binary files /dev/null and b/html/classCTR.png differ
diff --git a/html/classCTRCommon-members.html b/html/classCTRCommon-members.html
new file mode 100644
index 00000000..434d55bb
--- /dev/null
+++ b/html/classCTRCommon-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for CTRCommon, including all inherited members.
+| Cipher() | Cipher | |
| clear() | CTRCommon | virtual |
| CTRCommon() | CTRCommon | protected |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | CTRCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | CTRCommon | virtual |
| ivSize() const | CTRCommon | virtual |
| keySize() const | CTRCommon | virtual |
| setBlockCipher(BlockCipher *cipher) | CTRCommon | inlineprotected |
| setCounterSize(size_t size) | CTRCommon | |
| setIV(const uint8_t *iv, size_t len) | CTRCommon | virtual |
| setKey(const uint8_t *key, size_t len) | CTRCommon | virtual |
| ~Cipher() | Cipher | virtual |
| ~CTRCommon() (defined in CTRCommon) | CTRCommon | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCTRCommon.html b/html/classCTRCommon.html
new file mode 100644
index 00000000..0f288557
--- /dev/null
+++ b/html/classCTRCommon.html
@@ -0,0 +1,571 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Concrete base class to assist with implementing CTR mode for 128-bit block ciphers. + More...
+ +#include <CTR.h>
+
+ +Public Member Functions | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setCounterSize (size_t size) |
| Sets the counter size for the IV. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initial counter value to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Protected Member Functions | |
| CTRCommon () | |
| Constructs a new cipher in CTR mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this CTR object. More... | |
Concrete base class to assist with implementing CTR mode for 128-bit block ciphers.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+
+
|
+ +protected | +
Constructs a new cipher in CTR mode.
+This constructor should be followed by a call to setBlockCipher().
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Decrypts an input buffer and writes the plaintext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to decrypt. |
The decrypt() function can be called multiple times with different regions of the ciphertext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Encrypts an input buffer and writes the ciphertext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to encrypt. |
The encrypt() function can be called multiple times with different regions of the plaintext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
+
|
+ +inlineprotected | +
Sets the block cipher to use for this CTR object.
+| cipher | The block cipher to use to implement CTR mode, which must have a block size of 16 bytes (128 bits). |
| bool CTRCommon::setCounterSize | +( | +size_t | +size | ) | ++ |
Sets the counter size for the IV.
+| size | The number of bytes on the end of the counter block that are relevant when incrementing, between 1 and 16. |
When the counter is incremented during encrypt(), only the last size bytes are considered relevant. This can be useful to improve performance when the higher level protocol specifies that only the least significant N bytes "count". The high level protocol should explicitly generate a new initial counter value and key long before the size bytes overflow and wrap around.
+By default, the counter size is 16 which is the same as the block size of the underlying block cipher.
+
+
|
+ +virtual | +
Sets the initial counter value to use for future encryption and decryption operations.
+| iv | The initial counter value which must contain exactly 16 bytes. |
| len | The length of the counter value, which mut be 16. |
The precise method to generate the initial counter is not defined by this class. Usually higher level protocols like SSL/TLS and SSH specify how to construct the initial counter value. This class merely increments the counter every time a new block of keystream data is needed.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key in bytes. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+Calling setKey() resets the cipher. Any temporary data that was being retained for encrypting partial blocks will be abandoned.
+ + +Implements Cipher.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classCTRCommon.png b/html/classCTRCommon.png
new file mode 100644
index 00000000..82065c8d
Binary files /dev/null and b/html/classCTRCommon.png differ
diff --git a/html/classChaCha-members.html b/html/classChaCha-members.html
new file mode 100644
index 00000000..273d030d
--- /dev/null
+++ b/html/classChaCha-members.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for ChaCha, including all inherited members.
+| ChaCha(uint8_t numRounds=20) | ChaCha | explicit |
| Cipher() | Cipher | |
| clear() | ChaCha | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | ChaCha | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | ChaCha | virtual |
| hashCore(uint32_t *output, const uint32_t *input, uint8_t rounds) | ChaCha | static |
| ivSize() const | ChaCha | virtual |
| keySize() const | ChaCha | virtual |
| numRounds() const | ChaCha | inline |
| setCounter(const uint8_t *counter, size_t len) | ChaCha | |
| setIV(const uint8_t *iv, size_t len) | ChaCha | virtual |
| setKey(const uint8_t *key, size_t len) | ChaCha | virtual |
| setNumRounds(uint8_t numRounds) | ChaCha | inline |
| ~ChaCha() (defined in ChaCha) | ChaCha | virtual |
| ~Cipher() | Cipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classChaCha.html b/html/classChaCha.html
new file mode 100644
index 00000000..328ef30d
--- /dev/null
+++ b/html/classChaCha.html
@@ -0,0 +1,674 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
ChaCha stream cipher. + More...
+ +#include <ChaCha.h>
+
+ +Public Member Functions | |
| ChaCha (uint8_t numRounds=20) | |
| Constructs a new ChaCha stream cipher. More... | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| uint8_t | numRounds () const |
| Returns the number of encryption rounds; usually 8, 12, or 20. More... | |
| void | setNumRounds (uint8_t numRounds) |
| Sets the number of encryption rounds. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| bool | setCounter (const uint8_t *counter, size_t len) |
| Sets the starting counter for encryption. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Static Public Member Functions | |
| static void | hashCore (uint32_t *output, const uint32_t *input, uint8_t rounds) |
| Executes the ChaCha hash core on an input memory block. More... | |
ChaCha stream cipher.
+ChaCha is a stream cipher that takes a key, an 8-byte nonce/IV, and a counter and hashes them to generate a keystream to XOR with the plaintext. Variations on the ChaCha cipher use 8, 12, or 20 rounds of hashing operations with either 128-bit or 256-bit keys.
+Reference: http://cr.yp.to/chacha.html
+ + +
+
|
+ +explicit | +
Constructs a new ChaCha stream cipher.
+| numRounds | Number of encryption rounds to use; usually 8, 12, or 20. |
Definition at line 47 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
Clears all security-sensitive state from this cipher.
+Security-sensitive information includes key schedules, initialization vectors, and any temporary state that is used by encrypt() or decrypt() which is stored in the cipher itself.
+ +Implements Cipher.
+ +Definition at line 195 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
Decrypts an input buffer and writes the plaintext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to decrypt. |
The decrypt() function can be called multiple times with different regions of the ciphertext data.
+Implements Cipher.
+ +Definition at line 190 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
Encrypts an input buffer and writes the ciphertext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to encrypt. |
The encrypt() function can be called multiple times with different regions of the plaintext data.
+Implements Cipher.
+ +Definition at line 158 of file ChaCha.cpp.
+ +
+
|
+ +static | +
Executes the ChaCha hash core on an input memory block.
+| output | Output memory block, must be at least 16 words in length and must not overlap with input. |
| input | Input memory block, must be at least 16 words in length. |
| rounds | Number of ChaCha rounds to perform; usually 8, 12, or 20. |
This function is provided for the convenience of applications that need access to the ChaCha hash core without the higher-level processing that turns the core into a stream cipher.
+ +Definition at line 230 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
Size of the initialization vector for this cipher, in bytes.
+If the cipher does not need an initialization vector, this function will return zero.
+ +Implements Cipher.
+ +Definition at line 65 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
+
|
+ +inline | +
Returns the number of encryption rounds; usually 8, 12, or 20.
+| bool ChaCha::setCounter | +( | +const uint8_t * | +counter, | +
| + | + | size_t | +len | +
| + | ) | ++ |
Sets the starting counter for encryption.
+| counter | A 4-byte or 8-byte value to use for the starting counter instead of the default value of zero. |
| len | The length of the counter, which must be 4 or 8. |
This function must be called after setIV() and before the first call to encrypt(). It is used to specify a different starting value than zero for the counter portion of the hash input.
+Definition at line 145 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
Sets the initialization vector to use for future encryption and decryption operations.
+| iv | The initialization vector to use. |
| len | The length of the initialization vector in bytes. |
Initialization vectors should be set before the first call to encrypt() or decrypt() after a setKey() call. If the initialization vector is changed after encryption or decryption begins, then the behaviour is undefined.
+Implements Cipher.
+ +Definition at line 111 of file ChaCha.cpp.
+ +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key in bytes. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+Calling setKey() resets the cipher. Any temporary data that was being retained for encrypting partial blocks will be abandoned.
+ + +Implements Cipher.
+ +Definition at line 87 of file ChaCha.cpp.
+ +
+
|
+ +inline | +
Sets the number of encryption rounds.
+| numRounds | The number of encryption rounds; usually 8, 12, or 20. |
+ 1.8.6
+
+
+
diff --git a/html/classChaCha.png b/html/classChaCha.png
new file mode 100644
index 00000000..6b26fef9
Binary files /dev/null and b/html/classChaCha.png differ
diff --git a/html/classCharlieplex-members.html b/html/classCharlieplex-members.html
new file mode 100644
index 00000000..291ae424
--- /dev/null
+++ b/html/classCharlieplex-members.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Charlieplex, including all inherited members.
+| Charlieplex(const uint8_t *pins, uint8_t numPins) | Charlieplex | |
| count() const | Charlieplex | inline |
| holdTime() const | Charlieplex | inline |
| led(int index) const | Charlieplex | inline |
| loop() | Charlieplex | |
| pwmLed(int index) const | Charlieplex | inline |
| refresh() | Charlieplex | |
| setHoldTime(unsigned long us) | Charlieplex | inline |
| setLed(int index, bool value) | Charlieplex | inline |
| setPwmLed(int index, uint8_t value) | Charlieplex | inline |
| ~Charlieplex() | Charlieplex |
+ 1.8.6
+
+
+
diff --git a/html/classCharlieplex.html b/html/classCharlieplex.html
new file mode 100644
index 00000000..d26f5f24
--- /dev/null
+++ b/html/classCharlieplex.html
@@ -0,0 +1,546 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Manage an array of LED's in a charlieplexed arrangement. + More...
+ +#include <Charlieplex.h>
+Public Member Functions | |
| Charlieplex (const uint8_t *pins, uint8_t numPins) | |
| Constructs a new charliexplexing array where the output pins are specified by the numPins entries in pins. More... | |
| + | ~Charlieplex () |
| Destroys this charlieplexed array. | |
| int | count () const |
| Returns the number of LED's in this charlieplexed array based on the number of pins. More... | |
| bool | led (int index) const |
| Returns the value of the LED at index in the charplexed array; true if lit; false if not lit. More... | |
| void | setLed (int index, bool value) |
| Sets the value of the LED at index in the charliplexed array. More... | |
| uint8_t | pwmLed (int index) const |
| Returns the PWM value of the LED at index in the charplexed array; between 0 and 255. More... | |
| void | setPwmLed (int index, uint8_t value) |
| Sets the PWM value of the LED at index in the charliplexed array; between 0 and 255. More... | |
| unsigned long | holdTime () const |
| Returns the number of microseconds that each LED should be held on for before moving onto the next in loop(). More... | |
| void | setHoldTime (unsigned long us) |
| Sets the number of microseconds that each LED should be held on for before moving onto the next in loop() to us. More... | |
| void | loop () |
| Runs the multiplexing loop, to display the LED states on the charlieplexed array. More... | |
| void | refresh () |
| Refreshes the charlieplexed array by advancing to the next LED that needs to be lit. More... | |
Manage an array of LED's in a charlieplexed arrangement.
+Charlieplexing is a technique for multiplexing large numbers of LED's on a small number of microcontroller output pins. LED's are arranged in complementary pairs; the simplest being for two output pins:
+
+When Pin1 is 1 and Pin2 is 0, LED1 will be lit. When Pin1 is 0 and Pin2 is 1, then LED2 will be lit. The technique extends to 3 pins as follows:
+
+In this case, LED5 is lit when Pin1 is 1, Pin3 is 0, and Pin2 is set to a high-impedance input to "disconnect" it.
+Charlieplex presents a simple array of led() values that indicate whether each LED is on, off, or in an intermediate PWM state (if setPwmLed() is used). The application must call loop() or refresh() on a regular basis to ensure that the multiplexed display is kept up to date. The following example drives 6 LED's connected to the output pins D9, D10, and D11:
+The following diagram extends the circuit for 4 output pins and 12 LED's:
+
+The following diagram extends the circuit for 5 output pins and 20 LED's:
+
+Circuits for higher numbers of LED's get increasingly complex. For those cases it can be easier to use traditional multiplexing matrix arrangements and shift registers. The DMD class does this for a specific kind of large dot matrix display. Otherwise, use the following pseudocode to determine how to connect the LED's for higher numbers of pins:
+Note: while the above circuit diagrams and psuedocode use 1-based numbering for LED's, Charlieplex uses 0-based numbering in the led(), setLed(), pwmLed(), and setPwmLed() functions.
+It isn't necessary to wire up all LED's. If you only need 10 LED's, then use the 4-output circuit and omit LED11 and LED12. Charlieplex only drives LED's that are lit; LED's that are unlit or unused will be skipped during the refresh scan. The maximum number of LED's that that can be driven by a specific number of pins is given by the following table:
+| Number of Pins | Number of LED's |
| 2 | 2 |
| 3 | 6 |
| 4 | 12 |
| 5 | 20 |
| 6 | 30 |
| 7 | 42 |
| 8 | 56 |
| 9 | 72 |
| 10 | 90 |
| n | n * (n - 1) |
Definition at line 28 of file Charlieplex.h.
+| Charlieplex::Charlieplex | +( | +const uint8_t * | +pins, | +
| + | + | uint8_t | +numPins | +
| + | ) | ++ |
Constructs a new charliexplexing array where the output pins are specified by the numPins entries in pins.
+Note: numPins must be 2 or greater for correct operation.
+ + +Definition at line 121 of file Charlieplex.cpp.
+ +
+
|
+ +inline | +
Returns the number of LED's in this charlieplexed array based on the number of pins.
+| Number of Pins | Number of LED's |
| 2 | 2 |
| 3 | 6 |
| 4 | 12 |
| 5 | 20 |
| 6 | 30 |
| 7 | 42 |
| 8 | 56 |
| 9 | 72 |
| 10 | 90 |
| n | n * (n - 1) |
Definition at line 34 of file Charlieplex.h.
+ +
+
|
+ +inline | +
Returns the number of microseconds that each LED should be held on for before moving onto the next in loop().
+The default value is calculated so that all LED's can be refreshed with a rate of at least 200 Hz, which is necessary for handling PWM output on multiple LED's. The less LED's that are lit at once, the faster the display will refresh.
+Definition at line 42 of file Charlieplex.h.
+ +
+
|
+ +inline | +
Returns the value of the LED at index in the charplexed array; true if lit; false if not lit.
+If the LED is displaying a PWM value, then this function will return true for any non-zero PWM value.
+ + +Definition at line 36 of file Charlieplex.h.
+ +| void Charlieplex::loop | +( | +) | ++ |
Runs the multiplexing loop, to display the LED states on the charlieplexed array.
+If holdTime() microseconds have elapsed since the last call to loop(), then the current LED is turned off and the next LED that needs to be lit is turned on.
+LED's that do not need to be lit are skipped. The total time for a single pass through all lit LED's may be very short if only a few LED's are lit at once. If all LED's are lit, then the total time for a single pass will be count() * holdTime() microseconds.
+If the application is using timer interrupts to drive the multiplexing process, then use refresh() instead of loop().
+Definition at line 277 of file Charlieplex.cpp.
+ +
+
|
+ +inline | +
Returns the PWM value of the LED at index in the charplexed array; between 0 and 255.
+Definition at line 39 of file Charlieplex.h.
+ +| void Charlieplex::refresh | +( | +) | ++ |
Refreshes the charlieplexed array by advancing to the next LED that needs to be lit.
+This function is intended to be called from a timer interrupt service routine to advance the multiplexing state without the main application having to explicitly call loop().
+Definition at line 296 of file Charlieplex.cpp.
+ +
+
|
+ +inline | +
Sets the number of microseconds that each LED should be held on for before moving onto the next in loop() to us.
+Definition at line 43 of file Charlieplex.h.
+ +
+
|
+ +inline | +
Sets the value of the LED at index in the charliplexed array.
+The brightness of the LED will be proportional to the number of LED's that are currently lit, as the holdTime() refresh rate will cause the LED to appear to dim; the more LED's that are lit the less overall time each individual LED is held on. For best results, only a single LED should be lit at once or higher-brightness LED's should be used.
+Definition at line 37 of file Charlieplex.h.
+ +
+
|
+ +inline | +
Sets the PWM value of the LED at index in the charliplexed array; between 0 and 255.
+If this function is used, then it is assumed that the output pins are capable of PWM output.
+The PWM-specified brightness of the LED will also be affected to the number of LED's that are currently lit, as the holdTime() refresh rate will cause the LED to appear to dim; the more LED's that are lit the less overall time each individual LED is held on. For best results, only a single LED should be lit at once or higher-brightness LED's should be used.
+ + +Definition at line 40 of file Charlieplex.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classChaseLEDs-members.html b/html/classChaseLEDs-members.html
new file mode 100644
index 00000000..fc57a0cf
--- /dev/null
+++ b/html/classChaseLEDs-members.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for ChaseLEDs, including all inherited members.
+| advance(uint8_t prevPin, uint8_t nextPin) | ChaseLEDs | protectedvirtual |
| advanceTime() const | ChaseLEDs | inline |
| ChaseLEDs(const uint8_t *pins, int num, unsigned long advanceTime) | ChaseLEDs | |
| loop() | ChaseLEDs | |
| previousPin(int n) const | ChaseLEDs | inlineprotected |
| setAdvanceTime(unsigned long advanceTime) | ChaseLEDs | inline |
+ 1.8.6
+
+
+
diff --git a/html/classChaseLEDs.html b/html/classChaseLEDs.html
new file mode 100644
index 00000000..491be03f
--- /dev/null
+++ b/html/classChaseLEDs.html
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Chase LED's on output pins in a defined sequence. + More...
+ +#include <ChaseLEDs.h>
+Public Member Functions | |
| ChaseLEDs (const uint8_t *pins, int num, unsigned long advanceTime) | |
| Initializes the LED chaser. More... | |
| void | loop () |
| unsigned long | advanceTime () const |
| Returns the number of milliseconds that each LED will be lit in the chase sequence. More... | |
| void | setAdvanceTime (unsigned long advanceTime) |
| Sets the number of milliseconds to advance between LED's to advanceTime. More... | |
+Protected Member Functions | |
| virtual void | advance (uint8_t prevPin, uint8_t nextPin) |
| Advances to the next LED in sequence, turning off prevPin, and turning on nextPin. More... | |
| uint8_t | previousPin (int n) const |
| Returns the pin that is n steps back in the sequence. More... | |
Chase LED's on output pins in a defined sequence.
+The following example performs a LED chase over the 6 PWM outputs on the Arduino Uno, with a 150 millisecond delay between each LED:
+After pin 11 is lit, the pattern will repeat at pin 3. To cause the chase to oscillate back and forth instead, extend the sequence as follows:
+See the Cylon example for more information on how to use the ChaseLEDs class in a practical application.
+ +Definition at line 28 of file ChaseLEDs.h.
+| ChaseLEDs::ChaseLEDs | +( | +const uint8_t * | +pins, | +
| + | + | int | +num, | +
| + | + | unsigned long | +advanceTime | +
| + | ) | ++ |
Initializes the LED chaser.
+The chase sequence consists of num pins, whose names are given by the pins array. Each LED is lit for advanceTime milliseconds before advancing to the next LED.
+This constructor configures all of the pins for output and sets their state to be LOW. The first LED will be lit when the program first calls loop().
+Definition at line 71 of file ChaseLEDs.cpp.
+ +
+
|
+ +protectedvirtual | +
Advances to the next LED in sequence, turning off prevPin, and turning on nextPin.
+The default implementation is equivalent to the following code:
+This method may be overridden in subclasses to provide special effects. See the documentation for previousPin() for some example effects.
+Definition at line 136 of file ChaseLEDs.cpp.
+ +
+
|
+ +inline | +
Returns the number of milliseconds that each LED will be lit in the chase sequence.
+Definition at line 35 of file ChaseLEDs.h.
+ +| void ChaseLEDs::loop | +( | +) | ++ |
Perform a single iteration of the control loop for this LED chaser.
+ +Definition at line 87 of file ChaseLEDs.cpp.
+ +
+
|
+ +inlineprotected | +
Returns the pin that is n steps back in the sequence.
+If n is zero, then the current pin is returned; if n is 1, then the previous pin is returned; and so on.
+This function may be called by subclasses in their advance() method to manipulate pins that are further back in the chase sequence than the immediately previous pin.
+For example, the following code implements a LED chaser that lights two pins at a time:
+As another exmaple, the following code uses PWM outputs to fade out the previous pin rather than turn it off immediately:
+Note: it is possible to retrieve the following pin in sequence using previousPin(-1). This could be used to fade in the LED that follows nextPin.
+Definition at line 40 of file ChaseLEDs.h.
+ +
+
|
+ +inline | +
Sets the number of milliseconds to advance between LED's to advanceTime.
+Definition at line 36 of file ChaseLEDs.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classCipher-members.html b/html/classCipher-members.html
new file mode 100644
index 00000000..f004bff5
--- /dev/null
+++ b/html/classCipher-members.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Cipher, including all inherited members.
+| Cipher() | Cipher | |
| clear()=0 | Cipher | pure virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len)=0 | Cipher | pure virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len)=0 | Cipher | pure virtual |
| ivSize() const =0 | Cipher | pure virtual |
| keySize() const =0 | Cipher | pure virtual |
| setIV(const uint8_t *iv, size_t len)=0 | Cipher | pure virtual |
| setKey(const uint8_t *key, size_t len)=0 | Cipher | pure virtual |
| ~Cipher() | Cipher | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classCipher.html b/html/classCipher.html
new file mode 100644
index 00000000..167cc853
--- /dev/null
+++ b/html/classCipher.html
@@ -0,0 +1,487 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Abstract base class for stream ciphers. + More...
+ +#include <Cipher.h>
+
+ +Public Member Functions | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
| virtual size_t | keySize () const =0 |
| Default size of the key for this cipher, in bytes. More... | |
| virtual size_t | ivSize () const =0 |
| Size of the initialization vector for this cipher, in bytes. More... | |
| virtual bool | setKey (const uint8_t *key, size_t len)=0 |
| Sets the key to use for future encryption and decryption operations. More... | |
| virtual bool | setIV (const uint8_t *iv, size_t len)=0 |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| virtual void | encrypt (uint8_t *output, const uint8_t *input, size_t len)=0 |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| virtual void | decrypt (uint8_t *output, const uint8_t *input, size_t len)=0 |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| virtual void | clear ()=0 |
| Clears all security-sensitive state from this cipher. More... | |
Abstract base class for stream ciphers.
+This class is intended for implementing ciphers that operate on arbitrary amounts of data. In particular, stream ciphers where the number of bytes that are input to encrypt() or decrypt() is exactly the same as the number of bytes that are output.
+All of the stream ciphers such as ChaCha inherit directly from this class, together with block cipher modes such as CTR and CFB.
+ + +
+
|
+ +virtual | +
Destroys this cipher object.
+Subclasses are responsible for clearing temporary key schedules and other buffers so as to avoid leaking sensitive information.
+Definition at line 53 of file Cipher.cpp.
+ +
+
|
+ +pure virtual | +
Clears all security-sensitive state from this cipher.
+Security-sensitive information includes key schedules, initialization vectors, and any temporary state that is used by encrypt() or decrypt() which is stored in the cipher itself.
+ +Implemented in ChaCha, CTRCommon, CBCCommon, CFBCommon, and OFBCommon.
+ +
+
|
+ +pure virtual | +
Decrypts an input buffer and writes the plaintext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to decrypt. |
The decrypt() function can be called multiple times with different regions of the ciphertext data.
+Implemented in ChaCha, CTRCommon, CBCCommon, CFBCommon, and OFBCommon.
+ +
+
|
+ +pure virtual | +
Encrypts an input buffer and writes the ciphertext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to encrypt. |
The encrypt() function can be called multiple times with different regions of the plaintext data.
+Implemented in ChaCha, CTRCommon, CBCCommon, CFBCommon, and OFBCommon.
+ +
+
|
+ +pure virtual | +
+
|
+ +pure virtual | +
+
|
+ +pure virtual | +
Sets the initialization vector to use for future encryption and decryption operations.
+| iv | The initialization vector to use. |
| len | The length of the initialization vector in bytes. |
Initialization vectors should be set before the first call to encrypt() or decrypt() after a setKey() call. If the initialization vector is changed after encryption or decryption begins, then the behaviour is undefined.
+Implemented in ChaCha, CTRCommon, CBCCommon, CFBCommon, and OFBCommon.
+ +
+
|
+ +pure virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key in bytes. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+Calling setKey() resets the cipher. Any temporary data that was being retained for encrypting partial blocks will be abandoned.
+ + +Implemented in ChaCha, CTRCommon, CBCCommon, CFBCommon, and OFBCommon.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classCipher.png b/html/classCipher.png
new file mode 100644
index 00000000..3a1ad03b
Binary files /dev/null and b/html/classCipher.png differ
diff --git a/html/classCurve25519-members.html b/html/classCurve25519-members.html
new file mode 100644
index 00000000..2c3e6bd5
--- /dev/null
+++ b/html/classCurve25519-members.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Curve25519, including all inherited members.
+| dh1(uint8_t k[32], uint8_t f[32]) | Curve25519 | static |
| dh2(uint8_t k[32], uint8_t f[32]) | Curve25519 | static |
| eval(uint8_t result[32], const uint8_t s[32], const uint8_t x[32]) | Curve25519 | static |
+ 1.8.6
+
+
+
diff --git a/html/classCurve25519.html b/html/classCurve25519.html
new file mode 100644
index 00000000..b37e4611
--- /dev/null
+++ b/html/classCurve25519.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19. + More...
+ +#include <Curve25519.h>
+Static Public Member Functions | |
| static bool | eval (uint8_t result[32], const uint8_t s[32], const uint8_t x[32]) |
| Evaluates the raw Curve25519 function. More... | |
| static void | dh1 (uint8_t k[32], uint8_t f[32]) |
| Performs phase 1 of a Diffie-Hellman key exchange using Curve25519. More... | |
| static bool | dh2 (uint8_t k[32], uint8_t f[32]) |
| Performs phase 2 of a Diffie-Hellman key exchange using Curve25519. More... | |
Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19.
+References: http://cr.yp.to/ecdh.html https://tools.ietf.org/html/draft-irtf-cfrg-curves-02
+ +Definition at line 35 of file Curve25519.h.
+
+
|
+ +static | +
Performs phase 1 of a Diffie-Hellman key exchange using Curve25519.
+| k | The key value to send to the other party as part of the exchange. |
| f | The generated secret value for this party. This must not be transmitted to any party or stored in permanent storage. It only needs to be kept in memory until dh2() is called. |
The f value is generated with RNG.rand(). It is the caller's responsibility to ensure that the global random number pool has sufficient entropy to generate the 32 bytes of f safely before calling this function.
+The following example demonstrates how to perform a full Diffie-Hellman key exchange using dh1() and dh2():
+Reference: https://tools.ietf.org/html/draft-irtf-cfrg-curves-02
+Definition at line 231 of file Curve25519.cpp.
+ +
+
|
+ +static | +
Performs phase 2 of a Diffie-Hellman key exchange using Curve25519.
+| k | On entry, this is the key value that was received from the other party as part of the exchange. On exit, this will be the shared secret. |
| f | The secret value for this party that was generated by dh1(). The f value will be destroyed by this function. |
Reference: https://tools.ietf.org/html/draft-irtf-cfrg-curves-02
+Definition at line 269 of file Curve25519.cpp.
+ +
+
|
+ +static | +
Evaluates the raw Curve25519 function.
+| result | The result of evaluating the curve function. |
| s | The S parameter to the curve function. |
| x | The X(Q) parameter to the curve function. If this pointer is NULL then the value 9 is used for x. |
This function is provided to assist with implementating other algorithms with the curve. Normally applications should use dh1() and dh2() directly instead.
+Reference: https://tools.ietf.org/html/draft-irtf-cfrg-curves-02
+ + +Definition at line 68 of file Curve25519.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classDMD-members.html b/html/classDMD-members.html
new file mode 100644
index 00000000..60d9cfa9
--- /dev/null
+++ b/html/classDMD-members.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for DMD, including all inherited members.
+| Bitmap(int width, int height) | Bitmap | |
| bitsPerPixel() const | Bitmap | inline |
| Black | Bitmap | static |
| charWidth(char ch) const | Bitmap | |
| clear(Color color=Black) | Bitmap | |
| Color typedef | Bitmap | |
| copy(int x, int y, int width, int height, Bitmap *dest, int destX, int destY) | Bitmap | |
| data() | Bitmap | inline |
| data() const | Bitmap | inline |
| disableTimer1() | DMD | |
| disableTimer2() | DMD | |
| DMD(int widthPanels=1, int heightPanels=1) | DMD | explicit |
| doubleBuffer() const | DMD | inline |
| drawBitmap(int x, int y, const Bitmap &bitmap, Color color=White) | Bitmap | |
| drawBitmap(int x, int y, Bitmap::ProgMem bitmap, Color color=White) | Bitmap | |
| drawChar(int x, int y, char ch) | Bitmap | |
| drawCircle(int centerX, int centerY, int radius, Color borderColor=White, Color fillColor=NoFill) | Bitmap | |
| drawFilledCircle(int centerX, int centerY, int radius, Color color=White) | Bitmap | inline |
| drawFilledRect(int x1, int y1, int x2, int y2, Color color=White) | Bitmap | inline |
| drawInvertedBitmap(int x, int y, const Bitmap &bitmap) | Bitmap | inline |
| drawInvertedBitmap(int x, int y, Bitmap::ProgMem bitmap) | Bitmap | inline |
| drawLine(int x1, int y1, int x2, int y2, Color color=White) | Bitmap | |
| drawRect(int x1, int y1, int x2, int y2, Color borderColor=White, Color fillColor=NoFill) | Bitmap | |
| drawText(int x, int y, const char *str, int len=-1) | Bitmap | |
| drawText(int x, int y, const String &str, int start=0, int len=-1) | Bitmap | |
| enableTimer1() | DMD | |
| enableTimer2() | DMD | |
| fill(int x, int y, int width, int height, Color color) | Bitmap | |
| fill(int x, int y, int width, int height, Bitmap::ProgMem pattern, Color color=White) | Bitmap | |
| font() const | Bitmap | inline |
| Font typedef | Bitmap | |
| fromRGB(uint8_t r, uint8_t g, uint8_t b) | DMD | static |
| height() const | Bitmap | inline |
| invert(int x, int y, int width, int height) | Bitmap | |
| isValid() const | Bitmap | inline |
| loop() | DMD | |
| NoFill | Bitmap | static |
| pixel(int x, int y) const | Bitmap | |
| ProgMem typedef | Bitmap | |
| refresh() | DMD | |
| scroll(int dx, int dy, Color fillColor=Black) | Bitmap | inline |
| scroll(int x, int y, int width, int height, int dx, int dy, Color fillColor=Black) | Bitmap | |
| setDoubleBuffer(bool doubleBuffer) | DMD | |
| setFont(Font font) | Bitmap | inline |
| setPixel(int x, int y, Color color) | Bitmap | |
| setTextColor(Color color) | Bitmap | inline |
| stride() const | Bitmap | inline |
| swapBuffers() | DMD | |
| swapBuffersAndCopy() | DMD | |
| textColor() const | Bitmap | inline |
| textHeight() const | Bitmap | |
| textWidth(const char *str, int len=-1) const | Bitmap | |
| textWidth(const String &str, int start=0, int len=-1) const | Bitmap | |
| White | Bitmap | static |
| width() const | Bitmap | inline |
| ~Bitmap() | Bitmap | |
| ~DMD() | DMD |
+ 1.8.6
+
+
+
diff --git a/html/classDMD.html b/html/classDMD.html
new file mode 100644
index 00000000..8d1e3513
--- /dev/null
+++ b/html/classDMD.html
@@ -0,0 +1,763 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Handle large dot matrix displays composed of LED's. + More...
+ +#include <DMD.h>
+
+ +Public Member Functions | |
| DMD (int widthPanels=1, int heightPanels=1) | |
| Constructs a new dot matrix display handler for a display that is widthPanels x heightPanels in size. More... | |
| + | ~DMD () |
| Destroys this dot matrix display handler. | |
| bool | doubleBuffer () const |
| Returns true if the display is double-buffered; false if single-buffered. The default is false. More... | |
| void | setDoubleBuffer (bool doubleBuffer) |
| Enables or disables double-buffering according to doubleBuffer. More... | |
| void | swapBuffers () |
| Swaps the buffers that are used for rendering to the display. More... | |
| void | swapBuffersAndCopy () |
| Swaps the buffers that are used for rendering to the display and copies the former back buffer contents to the new back buffer. More... | |
| void | loop () |
| Performs regular display refresh activities from the application's main loop. More... | |
| void | refresh () |
| Refresh the display. More... | |
| void | enableTimer1 () |
| Enables Timer1 overflow interrupts for updating this display. More... | |
| void | disableTimer1 () |
| Disables Timer1 overflow interrupts. More... | |
| void | enableTimer2 () |
| Enables Timer2 overflow interrupts for updating this display. More... | |
| void | disableTimer2 () |
| Disables Timer2 overflow interrupts. More... | |
Public Member Functions inherited from Bitmap | |
| Bitmap (int width, int height) | |
| Constructs a new in-memory bitmap that is width x height pixels in size. More... | |
| + | ~Bitmap () |
| Destroys this bitmap. | |
| bool | isValid () const |
| Returns true if the memory for this bitmap is valid; false otherwise. More... | |
| int | width () const |
| Returns the width of the bitmap in pixels. More... | |
| int | height () const |
| Returns the height of the bitmap in pixels. More... | |
| int | stride () const |
| Returns the number of bytes in each line of the bitmap's data() buffer. More... | |
| int | bitsPerPixel () const |
| Returns the number of bits per pixel for the bitmap; always 1. More... | |
| uint8_t * | data () |
| Returns a pointer to the start of the bitmap's data buffer. More... | |
| +const uint8_t * | data () const |
| Returns a constant pointer to the start of the bitmap's data buffer. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | clear (Color color=Black) |
| Clears the entire bitmap to the specified color. More... | |
| Color | pixel (int x, int y) const |
| Returns the color of the pixel at (x, y); either Black or White. More... | |
| void | setPixel (int x, int y, Color color) |
| Sets the pixel at (x, y) to color. More... | |
| void | drawLine (int x1, int y1, int x2, int y2, Color color=White) |
| Draws a line from (x1, y1) to (x2, y2) in color. More... | |
| void | drawRect (int x1, int y1, int x2, int y2, Color borderColor=White, Color fillColor=NoFill) |
| Draws a rectangle from (x1, y1) to (x2, y2), with the outline in borderColor and the interior filled with fillColor. More... | |
| void | drawFilledRect (int x1, int y1, int x2, int y2, Color color=White) |
| Draws a filled rectangle from (x1, y1) to (x2, y2) in color. More... | |
| void | drawCircle (int centerX, int centerY, int radius, Color borderColor=White, Color fillColor=NoFill) |
| Draws a circle with a specific center (centerX, centerY) and radius, with the outline in borderColor and the interior filled with fillColor. More... | |
| void | drawFilledCircle (int centerX, int centerY, int radius, Color color=White) |
| Draws a filled circle with a specific center (centerX, centerY) and radius in color. More... | |
| void | drawBitmap (int x, int y, const Bitmap &bitmap, Color color=White) |
| Draws bitmap at (x, y) in color. More... | |
| void | drawBitmap (int x, int y, Bitmap::ProgMem bitmap, Color color=White) |
| Draws bitmap at (x, y) in color. More... | |
| void | drawInvertedBitmap (int x, int y, const Bitmap &bitmap) |
| Draws bitmap at (x, y) in inverted colors. More... | |
| void | drawInvertedBitmap (int x, int y, Bitmap::ProgMem bitmap) |
| Draws bitmap at (x, y) in inverted colors. More... | |
| Font | font () const |
| Returns the currently selected font, or null if none selected. More... | |
| void | setFont (Font font) |
| Sets the font for use with drawText() and drawChar(). More... | |
| Color | textColor () const |
| Returns the color that will be used for drawing text with drawText() and drawChar(). The default is White. More... | |
| void | setTextColor (Color color) |
| Sets the color that will be used for drawing text with drawText() and drawChar(). More... | |
| void | drawText (int x, int y, const char *str, int len=-1) |
| Draws the len characters of str at (x, y). More... | |
| void | drawText (int x, int y, const String &str, int start=0, int len=-1) |
| Draws len characters starting at start from str to the screen at (x, y). More... | |
| int | drawChar (int x, int y, char ch) |
| Draws a single character ch at (x, y). More... | |
| int | charWidth (char ch) const |
| Returns the width in pixels of ch in the current font(). More... | |
| int | textWidth (const char *str, int len=-1) const |
| Returns the width in pixels of the len characters of str in the current font(), including inter-character spacing. More... | |
| int | textWidth (const String &str, int start=0, int len=-1) const |
| Returns the width in pixels of the len characters of str in the current font(), starting at start, including inter-character spacing. More... | |
| int | textHeight () const |
| Returns the height in pixels of the current text drawing font(); or zero if font() is not set. More... | |
| void | copy (int x, int y, int width, int height, Bitmap *dest, int destX, int destY) |
| Copies the width x height pixels starting at top-left corner (x, y) to (destX, destY) in the bitmap dest. More... | |
| void | fill (int x, int y, int width, int height, Color color) |
| Fills the width x height pixels starting at top-left corner (x, y) with color. More... | |
| void | fill (int x, int y, int width, int height, Bitmap::ProgMem pattern, Color color=White) |
| Fills the width x height pixels starting at top-left corner (x, y) with the contents of pattern. More... | |
| void | scroll (int dx, int dy, Color fillColor=Black) |
| Scrolls the entire contents of the bitmap by dx and dy. More... | |
| void | scroll (int x, int y, int width, int height, int dx, int dy, Color fillColor=Black) |
| Scrolls the width x height pixels starting at top-left corner (x, y) by dx and dy. More... | |
| void | invert (int x, int y, int width, int height) |
| Inverts the width x height pixels starting at top-left corner (x, y). More... | |
+Static Public Member Functions | |
| static Color | fromRGB (uint8_t r, uint8_t g, uint8_t b) |
| Converts an RGB value into a pixel color value. More... | |
+Additional Inherited Members | |
Public Types inherited from Bitmap | |
| typedef uint8_t | Color |
| Type that represents the color of a pixel in a bitmap. More... | |
| +typedef PGM_VOID_P | ProgMem |
| Type that represents a bitmap within program memory. | |
| +typedef PGM_VOID_P | Font |
| Type that represents a font within program memory. | |
Static Public Attributes inherited from Bitmap | |
| +static const Color | Black = 0 |
| Color value corresponding to "black". | |
| static const Color | White = 1 |
| Color value corresponding to "white". If the bitmap is displayed on a LED array, then it may have a different physical color. More... | |
| +static const Color | NoFill = 2 |
| Special color value that is used with drawRect() and drawCircle() to indicate that the interior of the shape should not be filled. For all other uses, NoFill is equivalent to White. | |
Handle large dot matrix displays composed of LED's.
+This class is designed for use with Freetronics Large Dot Matrix Displays. These displays have 512 LED's arranged in a 32x16 matrix and controlled by an SPI interface. The displays are available in red, blue, green, yellow, and white variations (for which this class always uses the constant White regardless of the physical color).
+DMD inherits from Bitmap so that any of the drawing functions in that class can be used to draw directly to dot matrix displays. The following example initializes a single display panel and draws a rectangle and a circle into it at setup time:
+The display must be updated frequently from the application's main loop:
+The loop() method simplifies updating the display from the application's main loop but it can sometimes be inconvenient to arrange for it to be called regularly, especially if the application wishes to use delay() or delayMicroseconds().
DMD provides an asynchronous display update mechanism using Timer1 interrupts. The application turns on interrupts using enableTimer1() and then calls refresh() from the interrupt service routine:
+If Timer1 is already in use by some other part of your application, then Timer2 can be used as an alternative interrupt source:
+DMD can also be used with third-party timer libraries such as TimerOne:
+When using interrupts, the system can sometimes exhibit "tearing" artifacts where half-finished images are displayed because an interrupt fired in the middle of a screen update.
+This problem can be alleviated using double buffering: all rendering is done to an off-screen buffer that is swapped onto the screen once it is ready for display. Rendering then switches to the other buffer that is now off-screen. The following example demonstrates this:
+The downside of double buffering is that it uses twice as much main memory to manage the contents of the screen.
+Multiple panels can be daisy-chained together using ribbon cables. If there is a single row of panels, then they must be connected to the Arduino board as follows:
+
+If there are multiple rows of panels, then alternating rows are flipped upside-down so that the short ribbon cables provided by Freetronics reach (this technique is thanks to Chris Debenham; see http://www.adebenham.com/category/arduino/dmd/ for more details):
+
+This technique can be repeated for as many rows as required, with the bottom row always right-way-up:
+
+DMD automatically takes care of flipping the data for panels in the alternating rows. No special action is required by the user except to physically connect the panels as shown and to initialize the DMD class appropriately:
+
+
|
+ +explicit | +
| void DMD::disableTimer1 | +( | +) | ++ |
Disables Timer1 overflow interrupts.
+| void DMD::disableTimer2 | +( | +) | ++ |
Disables Timer2 overflow interrupts.
+
+
|
+ +inline | +
Returns true if the display is double-buffered; false if single-buffered. The default is false.
+| void DMD::enableTimer1 | +( | +) | ++ |
Enables Timer1 overflow interrupts for updating this display.
+The application must also provide an interrupt service routine for Timer1 that calls refresh():
+If timer interrupts are being used to update the display, then it is unnecessary to call loop().
+| void DMD::enableTimer2 | +( | +) | ++ |
Enables Timer2 overflow interrupts for updating this display.
+The application must also provide an interrupt service routine for Timer2 that calls refresh():
+If timer interrupts are being used to update the display, then it is unnecessary to call loop().
+
+
|
+ +static | +
Converts an RGB value into a pixel color value.
+Returns White if any of r, g, or b are non-zero; otherwise returns Black.
+This function is provided for upwards compatibility with future displays that support full color. Monochrome applications should use the Black and White constants directly.
+ + + +| void DMD::loop | +( | +) | ++ |
| void DMD::refresh | +( | +) | ++ |
Refresh the display.
+This function must be called at least once every 5 milliseconds for smooth non-flickering update of the display. It is usually called by loop(), but can also be called in response to a timer interrupt.
+If this function is called from an interrupt service routine, then it is recommended that double-buffering be enabled with setDoubleBuffer() to prevent "tearing" artifacts that result from simultaneous update of a single shared buffer.
+| void DMD::setDoubleBuffer | +( | +bool | +doubleBuffer | ) | ++ |
Enables or disables double-buffering according to doubleBuffer.
+When double-buffering is enabled, rendering operations are sent to a memory buffer that isn't currently displayed on-screen. Once the application has completed the screen update, it calls swapBuffers() to display the current buffer and switch rendering to the other now invisible buffer.
+Double-buffering is recommended if refresh() is being called from an interrupt service routine, to prevent "tearing" artifacts that result from simultaneous update of a single shared buffer.
+This function will allocate memory for the extra buffer when doubleBuffer is true. If there is insufficient memory for the second screen buffer, then this class will revert to single-buffered mode.
+| void DMD::swapBuffers | +( | +) | ++ |
Swaps the buffers that are used for rendering to the display.
+When doubleBuffer() is false, this function does nothing. Otherwise the front and back rendering buffers are swapped. See the description of setDoubleBuffer() for more information.
+The new rendering back buffer will have undefined contents and will probably need to be re-inialized with clear() or fill() before drawing to it. The swapBuffersAndCopy() function can be used instead to preserve the screen contents from one frame to the next.
+| void DMD::swapBuffersAndCopy | +( | +) | ++ |
Swaps the buffers that are used for rendering to the display and copies the former back buffer contents to the new back buffer.
+Normally when swapBuffers() is called, the new rendering back buffer will have undefined contents from two frames prior and must be cleared with clear() or fill() before writing new contents to it. This function instead copies the previous frame into the new rendering buffer so that it can be updated in-place.
+This function is useful if the screen does not change much from one frame to the next. If the screen changes a lot between frames, then it is usually better to explicitly clear() or fill() the new back buffer.
+
+ 1.8.6
+
+
+
diff --git a/html/classDMD.png b/html/classDMD.png
new file mode 100644
index 00000000..910fc7e4
Binary files /dev/null and b/html/classDMD.png differ
diff --git a/html/classDS1307RTC-members.html b/html/classDS1307RTC-members.html
new file mode 100644
index 00000000..314d39b7
--- /dev/null
+++ b/html/classDS1307RTC-members.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for DS1307RTC, including all inherited members.
+| adjustDays(RTCDate *date, uint8_t flags) | RTC | static |
| adjustMonths(RTCDate *date, uint8_t flags) | RTC | static |
| adjustYears(RTCDate *date, uint8_t flags) | RTC | static |
| ALARM_COUNT | RTC | static |
| byteCount() const | DS1307RTC | virtual |
| dayOfWeek(const RTCDate *date) | RTC | static |
| DayOfWeek enum name | RTC | |
| DECREMENT | RTC | static |
| DS1307RTC(I2CMaster &bus, uint8_t oneHzPin=255) | DS1307RTC | |
| Friday enum value (defined in RTC) | RTC | |
| hasUpdates() | DS1307RTC | virtual |
| INCREMENT | RTC | static |
| isRealTime() const | DS1307RTC | inline |
| Monday enum value (defined in RTC) | RTC | |
| NO_TEMPERATURE | RTC | static |
| readAlarm(uint8_t alarmNum, RTCAlarm *value) | DS1307RTC | virtual |
| readByte(uint8_t offset) | DS1307RTC | virtual |
| readDate(RTCDate *value) | DS1307RTC | virtual |
| readTemperature() | RTC | virtual |
| readTime(RTCTime *value) | DS1307RTC | virtual |
| RTC() | RTC | |
| Saturday enum value (defined in RTC) | RTC | |
| Sunday enum value (defined in RTC) | RTC | |
| Thursday enum value (defined in RTC) | RTC | |
| Tuesday enum value (defined in RTC) | RTC | |
| Wednesday enum value (defined in RTC) | RTC | |
| WRAP | RTC | static |
| writeAlarm(uint8_t alarmNum, const RTCAlarm *value) | DS1307RTC | virtual |
| writeByte(uint8_t offset, uint8_t value) | DS1307RTC | virtual |
| writeDate(const RTCDate *value) | DS1307RTC | virtual |
| writeTime(const RTCTime *value) | DS1307RTC | virtual |
| ~RTC() (defined in RTC) | RTC |
+ 1.8.6
+
+
+
diff --git a/html/classDS1307RTC.html b/html/classDS1307RTC.html
new file mode 100644
index 00000000..63fc4f8b
--- /dev/null
+++ b/html/classDS1307RTC.html
@@ -0,0 +1,606 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Communicates with a DS1307 realtime clock chip via I2C. + More...
+ +#include <DS1307RTC.h>
+
+ +Public Member Functions | |
| DS1307RTC (I2CMaster &bus, uint8_t oneHzPin=255) | |
| Attaches to a realtime clock slave device on bus. More... | |
| +bool | isRealTime () const |
| Returns true if the realtime clock is on the I2C bus; false if the time and date are simulated. | |
| bool | hasUpdates () |
| Returns true if the realtime clock has updated since the last call to this function. More... | |
| void | readTime (RTCTime *value) |
| Reads the current time from the realtime clock into value. More... | |
| void | readDate (RTCDate *value) |
| Reads the current date from the realtime clock into value. More... | |
| void | writeTime (const RTCTime *value) |
| Updates the time in the realtime clock to match value. More... | |
| void | writeDate (const RTCDate *value) |
| Updates the date in the realtime clock to match value. More... | |
| void | readAlarm (uint8_t alarmNum, RTCAlarm *value) |
| Reads the details of the alarm with index alarmNum into value. More... | |
| void | writeAlarm (uint8_t alarmNum, const RTCAlarm *value) |
| Updates the details of the alarm with index alarmNum from value. More... | |
| int | byteCount () const |
| Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms. More... | |
| uint8_t | readByte (uint8_t offset) |
| Reads the byte at offset within the realtime clock's non-volatile memory. More... | |
| void | writeByte (uint8_t offset, uint8_t value) |
| Writes value to offset within the realtime clock's non-volatile memory. More... | |
Public Member Functions inherited from RTC | |
| RTC () | |
| Constructs a new realtime clock handler. More... | |
| virtual int | readTemperature () |
| Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius. More... | |
+Additional Inherited Members | |
Public Types inherited from RTC | |
| enum | DayOfWeek { + Monday = 1, +Tuesday, +Wednesday, +Thursday, + + Friday, +Saturday, +Sunday + + } |
| Day of the week corresponding to a date. More... | |
Static Public Member Functions inherited from RTC | |
| static void | adjustDays (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one day according to flags. More... | |
| static void | adjustMonths (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one month according to flags. More... | |
| static void | adjustYears (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one year according to flags. More... | |
| static DayOfWeek | dayOfWeek (const RTCDate *date) |
| Returns the day of the week corresponding to date. More... | |
Static Public Attributes inherited from RTC | |
| +static const uint8_t | ALARM_COUNT = 4 |
| Number of alarms that are supported by RTC::readAlarm() and RTC::writeAlarm(). | |
| +static const int | NO_TEMPERATURE = 32767 |
| Value that is returned from readTemperature() if the realtime clock chip cannot determine the temperature. | |
| +static const uint8_t | INCREMENT = 0x0000 |
| Increment the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | DECREMENT = 0x0001 |
| Decrement the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | WRAP = 0x0002 |
| Wrap around to the beginning of the current month/year rather than advance to the next one. | |
Communicates with a DS1307 realtime clock chip via I2C.
+This class simplifies the process of reading and writing the time and date information in a DS1307 realtime clock chip. The class also provides support for reading and writing information about alarms and other clock settings.
+If there is no DS1307 chip on the I2C bus, this class will fall back to the RTC class to simulate the current time and date based on the value of millis().
+The DS1307 uses a 2-digit year so this class is limited to dates between 2000 and 2099 inclusive.
+Note: if this class has not been used with the DS1307 chip before, then the contents of NVRAM will be cleared. Any previous contents will be lost.
+ + +Definition at line 30 of file DS1307RTC.h.
+| DS1307RTC::DS1307RTC | +( | +I2CMaster & | +bus, | +
| + | + | uint8_t | +oneHzPin = 255 |
+
| + | ) | ++ |
Attaches to a realtime clock slave device on bus.
+If oneHzPin is not 255, then it indicates a digital input pin that is connected to the 1 Hz square wave output on the realtime clock. This input is used by hasUpdates() to determine if the time information has changed in a non-trivial manner.
+Definition at line 83 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms.
+Reimplemented from RTC.
+ +Definition at line 264 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Returns true if the realtime clock has updated since the last call to this function.
+The default implementation returns true, indicating that an update is always available to be read.
+ +Reimplemented from RTC.
+ +Definition at line 118 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the details of the alarm with index alarmNum into value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+Reimplemented from RTC.
+ +Definition at line 230 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the byte at offset within the realtime clock's non-volatile memory.
+The offset parameter must be between 0 and byteCount() - 1.
+Reimplemented from RTC.
+ +Definition at line 269 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the current date from the realtime clock into value.
+The time should be read first with readTime() as the default implementation only advances the date when the time is read and it crosses midnight.
+Reimplemented from RTC.
+ +Definition at line 177 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the current time from the realtime clock into value.
+Reimplemented from RTC.
+ +Definition at line 157 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the details of the alarm with index alarmNum from value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+Reimplemented from RTC.
+ +Definition at line 250 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Writes value to offset within the realtime clock's non-volatile memory.
+The offset parameter must be between 0 and byteCount() - 1.
+Reimplemented from RTC.
+ +Definition at line 277 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the date in the realtime clock to match value.
+Reimplemented from RTC.
+ +Definition at line 216 of file DS1307RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the time in the realtime clock to match value.
+Reimplemented from RTC.
+ +Definition at line 202 of file DS1307RTC.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classDS1307RTC.png b/html/classDS1307RTC.png
new file mode 100644
index 00000000..dcd4436a
Binary files /dev/null and b/html/classDS1307RTC.png differ
diff --git a/html/classDS3231RTC-members.html b/html/classDS3231RTC-members.html
new file mode 100644
index 00000000..13b08c6d
--- /dev/null
+++ b/html/classDS3231RTC-members.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for DS3231RTC, including all inherited members.
+| adjustDays(RTCDate *date, uint8_t flags) | RTC | static |
| adjustMonths(RTCDate *date, uint8_t flags) | RTC | static |
| adjustYears(RTCDate *date, uint8_t flags) | RTC | static |
| ALARM_COUNT | RTC | static |
| byteCount() const | RTC | virtual |
| DayOfWeek enum name | RTC | |
| dayOfWeek(const RTCDate *date) | RTC | static |
| DECREMENT | RTC | static |
| disable32kHzOutput() | DS3231RTC | |
| disableAlarm(uint8_t alarmNum) | DS3231RTC | |
| disableAlarmInterrupts() | DS3231RTC | |
| DS3231RTC(I2CMaster &bus, uint8_t oneHzPin=255) | DS3231RTC | |
| enable32kHzOutput() | DS3231RTC | |
| enableAlarm(uint8_t alarmNum) | DS3231RTC | |
| enableAlarmInterrupts() | DS3231RTC | |
| firedAlarm() | DS3231RTC | |
| Friday enum value (defined in RTC) | RTC | |
| hasUpdates() | DS3231RTC | virtual |
| INCREMENT | RTC | static |
| isRealTime() const | DS3231RTC | inline |
| Monday enum value (defined in RTC) | RTC | |
| NO_TEMPERATURE | RTC | static |
| readAlarm(uint8_t alarmNum, RTCAlarm *value) | DS3231RTC | virtual |
| readByte(uint8_t offset) | RTC | virtual |
| readDate(RTCDate *value) | DS3231RTC | virtual |
| readTemperature() | DS3231RTC | virtual |
| readTime(RTCTime *value) | DS3231RTC | virtual |
| RTC() | RTC | |
| Saturday enum value (defined in RTC) | RTC | |
| setAlarm(uint8_t alarmNum, const RTCAlarm *value) | DS3231RTC | |
| Sunday enum value (defined in RTC) | RTC | |
| Thursday enum value (defined in RTC) | RTC | |
| Tuesday enum value (defined in RTC) | RTC | |
| Wednesday enum value (defined in RTC) | RTC | |
| WRAP | RTC | static |
| writeAlarm(uint8_t alarmNum, const RTCAlarm *value) | DS3231RTC | virtual |
| writeByte(uint8_t offset, uint8_t value) | RTC | virtual |
| writeDate(const RTCDate *value) | DS3231RTC | virtual |
| writeTime(const RTCTime *value) | DS3231RTC | virtual |
| ~RTC() (defined in RTC) | RTC |
+ 1.8.6
+
+
+
diff --git a/html/classDS3231RTC.html b/html/classDS3231RTC.html
new file mode 100644
index 00000000..0e8d1c34
--- /dev/null
+++ b/html/classDS3231RTC.html
@@ -0,0 +1,721 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Communicates with a DS3231 realtime clock chip via I2C. + More...
+ +#include <DS3231RTC.h>
+
+ +Public Member Functions | |
| DS3231RTC (I2CMaster &bus, uint8_t oneHzPin=255) | |
| Attaches to a realtime clock slave device on bus. More... | |
| +bool | isRealTime () const |
| Returns true if the realtime clock is on the I2C bus; false if the time and date are simulated. | |
| +bool | hasUpdates () |
| Returns true if there are updates. | |
| void | readTime (RTCTime *value) |
| Reads the current time from the realtime clock into value. More... | |
| void | readDate (RTCDate *value) |
| Reads the current date from the realtime clock into value. More... | |
| void | writeTime (const RTCTime *value) |
| Updates the time in the realtime clock to match value. More... | |
| void | writeDate (const RTCDate *value) |
| Updates the date in the realtime clock to match value. More... | |
| void | readAlarm (uint8_t alarmNum, RTCAlarm *value) |
| Reads the details of the alarm with index alarmNum into value. More... | |
| void | writeAlarm (uint8_t alarmNum, const RTCAlarm *value) |
| Updates the details of the alarm with index alarmNum from value. More... | |
| bool | setAlarm (uint8_t alarmNum, const RTCAlarm *value) |
| Sets the alarm with index alarmNum from value. More... | |
| int | readTemperature () |
| Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius. More... | |
| void | enableAlarmInterrupts () |
| Enables the generation of interrupts for alarms 0 and 1. More... | |
| void | disableAlarmInterrupts () |
| Disables the generation of interrupts for alarms 0 and 1. More... | |
| int | firedAlarm () |
| Determines which of alarms 0 or 1 have fired since the last call. More... | |
| void | enable32kHzOutput () |
| Enables the 32 kHz output on the DS3231 chip. More... | |
| void | disable32kHzOutput () |
| Disables the 32 kHz output on the DS3231 chip. More... | |
| void | enableAlarm (uint8_t alarmNum) |
| Enables a specific alarm. More... | |
| void | disableAlarm (uint8_t alarmNum) |
| Disables a specific alarm. More... | |
Public Member Functions inherited from RTC | |
| RTC () | |
| Constructs a new realtime clock handler. More... | |
| virtual int | byteCount () const |
| Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms. More... | |
| virtual uint8_t | readByte (uint8_t offset) |
| Reads the byte at offset within the realtime clock's non-volatile memory. More... | |
| virtual void | writeByte (uint8_t offset, uint8_t value) |
| Writes value to offset within the realtime clock's non-volatile memory. More... | |
+Additional Inherited Members | |
Public Types inherited from RTC | |
| enum | DayOfWeek { + Monday = 1, +Tuesday, +Wednesday, +Thursday, + + Friday, +Saturday, +Sunday + + } |
| Day of the week corresponding to a date. More... | |
Static Public Member Functions inherited from RTC | |
| static void | adjustDays (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one day according to flags. More... | |
| static void | adjustMonths (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one month according to flags. More... | |
| static void | adjustYears (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one year according to flags. More... | |
| static DayOfWeek | dayOfWeek (const RTCDate *date) |
| Returns the day of the week corresponding to date. More... | |
Static Public Attributes inherited from RTC | |
| +static const uint8_t | ALARM_COUNT = 4 |
| Number of alarms that are supported by RTC::readAlarm() and RTC::writeAlarm(). | |
| +static const int | NO_TEMPERATURE = 32767 |
| Value that is returned from readTemperature() if the realtime clock chip cannot determine the temperature. | |
| +static const uint8_t | INCREMENT = 0x0000 |
| Increment the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | DECREMENT = 0x0001 |
| Decrement the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | WRAP = 0x0002 |
| Wrap around to the beginning of the current month/year rather than advance to the next one. | |
Communicates with a DS3231 realtime clock chip via I2C.
+This class simplifies the process of reading and writing the time and date information in a DS3231 realtime clock chip. The class also provides support for reading and writing information about alarms and other clock settings.
+If there is no DS3231 chip on the I2C bus, this class will fall back to the RTC class to simulate the current time and date based on the value of millis().
+Alarms 0 and 1 can be set to generate an interrupt when they fire using enableAlarmInterrupts(). The firedAlarm() function can be used to determine which alarm has fired.
+The DS3231 uses a 2-digit year so this class is limited to dates between 2000 and 2099 inclusive.
+The structure RTCAlarm is used to read and write the alarms. It has a flags field which is analogous to the alarm mask bits found in the DS3231 manual. Bit 7 signals whether this is an alarm structure with settings for alarm 0 or 1 (as these are different, see manual).
+ + +Definition at line 35 of file DS3231RTC.h.
+| DS3231RTC::DS3231RTC | +( | +I2CMaster & | +bus, | +
| + | + | uint8_t | +oneHzPin = 255 |
+
| + | ) | ++ |
Attaches to a realtime clock slave device on bus.
+If oneHzPin is not 255, then it indicates a digital input pin that is connected to the 1 Hz square wave output on the realtime clock. This input is used by hasUpdates() to determine if the time information has changed in a non-trivial manner.
+If you wish to use enableAlarmInterrupts(), then oneHzPin must be 255.
+Definition at line 125 of file DS3231RTC.cpp.
+ +| void DS3231RTC::disable32kHzOutput | +( | +) | ++ |
Disables the 32 kHz output on the DS3231 chip.
+Definition at line 575 of file DS3231RTC.cpp.
+ +| void DS3231RTC::disableAlarm | +( | +uint8_t | +alarmNum | ) | ++ |
Disables a specific alarm.
+| alarmNum | The alarm to disable. |
Definition at line 625 of file DS3231RTC.cpp.
+ +| void DS3231RTC::disableAlarmInterrupts | +( | +) | ++ |
Disables the generation of interrupts for alarms 0 and 1.
+Definition at line 508 of file DS3231RTC.cpp.
+ +| void DS3231RTC::enable32kHzOutput | +( | +) | ++ |
Enables the 32 kHz output on the DS3231 chip.
+Definition at line 562 of file DS3231RTC.cpp.
+ +| void DS3231RTC::enableAlarm | +( | +uint8_t | +alarmNum | ) | ++ |
Enables a specific alarm.
+| alarmNum | The alarm to enable. |
Definition at line 606 of file DS3231RTC.cpp.
+ +| void DS3231RTC::enableAlarmInterrupts | +( | +) | ++ |
Enables the generation of interrupts for alarms 0 and 1.
+When the interrupt occurs, use firedAlarm() to determine which alarm has fired. The application is responsible for implementing the interrupt service routine to watch for the interrupt.
+Note: this function does nothing if the 1 Hz pin was enabled in the constructor, but firedAlarm() can still be used to determine which alarm has fired when hasUpdates() reports that there is an update available.
+Definition at line 494 of file DS3231RTC.cpp.
+ +| int DS3231RTC::firedAlarm | +( | +) | ++ |
Determines which of alarms 0 or 1 have fired since the last call.
+Returns 0 if alarm 0 has fired, 1 if alarm 1 has fired, 2 if both alarms have fired, or -1 if neither alarm has fired.
+The fired alarm state will be cleared, ready for the next call.
+This function cannot be used to determine if alarms 2 or 3 have fired as they are stored in NVRAM and are not handled specially by the DS3231.
+Definition at line 530 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the details of the alarm with index alarmNum into value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+Reimplemented from RTC.
+ +Definition at line 280 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the current date from the realtime clock into value.
+The time should be read first with readTime() as the default implementation only advances the date when the time is read and it crosses midnight.
+Reimplemented from RTC.
+ +Definition at line 228 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius.
+Returns the value NO_TEMPERATURE if the realtime clock chip cannot determine the temperature.
+ +Reimplemented from RTC.
+ +Definition at line 470 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the current time from the realtime clock into value.
+Reimplemented from RTC.
+ +Definition at line 207 of file DS3231RTC.cpp.
+ +| bool DS3231RTC::setAlarm | +( | +uint8_t | +alarmNum, | +
| + | + | const RTCAlarm * | +value | +
| + | ) | ++ |
Sets the alarm with index alarmNum from value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Definition at line 408 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the details of the alarm with index alarmNum from value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+Reimplemented from RTC.
+ +Definition at line 374 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the date in the realtime clock to match value.
+Reimplemented from RTC.
+ +Definition at line 266 of file DS3231RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the time in the realtime clock to match value.
+Reimplemented from RTC.
+ +Definition at line 252 of file DS3231RTC.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classDS3231RTC.png b/html/classDS3231RTC.png
new file mode 100644
index 00000000..09a5e194
Binary files /dev/null and b/html/classDS3231RTC.png differ
diff --git a/html/classDS3232RTC-members.html b/html/classDS3232RTC-members.html
new file mode 100644
index 00000000..4567b376
--- /dev/null
+++ b/html/classDS3232RTC-members.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for DS3232RTC, including all inherited members.
+| adjustDays(RTCDate *date, uint8_t flags) | RTC | static |
| adjustMonths(RTCDate *date, uint8_t flags) | RTC | static |
| adjustYears(RTCDate *date, uint8_t flags) | RTC | static |
| ALARM_COUNT | RTC | static |
| byteCount() const | DS3232RTC | virtual |
| dayOfWeek(const RTCDate *date) | RTC | static |
| DayOfWeek enum name | RTC | |
| DECREMENT | RTC | static |
| disable32kHzOutput() | DS3232RTC | |
| disableAlarmInterrupts() | DS3232RTC | |
| DS3232RTC(I2CMaster &bus, uint8_t oneHzPin=255) | DS3232RTC | |
| enable32kHzOutput() | DS3232RTC | |
| enableAlarmInterrupts() | DS3232RTC | |
| firedAlarm() | DS3232RTC | |
| Friday enum value (defined in RTC) | RTC | |
| hasUpdates() | DS3232RTC | virtual |
| INCREMENT | RTC | static |
| isRealTime() const | DS3232RTC | inline |
| Monday enum value (defined in RTC) | RTC | |
| NO_TEMPERATURE | RTC | static |
| readAlarm(uint8_t alarmNum, RTCAlarm *value) | DS3232RTC | virtual |
| readByte(uint8_t offset) | DS3232RTC | virtual |
| readDate(RTCDate *value) | DS3232RTC | virtual |
| readTemperature() | DS3232RTC | virtual |
| readTime(RTCTime *value) | DS3232RTC | virtual |
| RTC() | RTC | |
| Saturday enum value (defined in RTC) | RTC | |
| Sunday enum value (defined in RTC) | RTC | |
| Thursday enum value (defined in RTC) | RTC | |
| Tuesday enum value (defined in RTC) | RTC | |
| Wednesday enum value (defined in RTC) | RTC | |
| WRAP | RTC | static |
| writeAlarm(uint8_t alarmNum, const RTCAlarm *value) | DS3232RTC | virtual |
| writeByte(uint8_t offset, uint8_t value) | DS3232RTC | virtual |
| writeDate(const RTCDate *value) | DS3232RTC | virtual |
| writeTime(const RTCTime *value) | DS3232RTC | virtual |
| ~RTC() (defined in RTC) | RTC |
+ 1.8.6
+
+
+
diff --git a/html/classDS3232RTC.html b/html/classDS3232RTC.html
new file mode 100644
index 00000000..9e4a90a7
--- /dev/null
+++ b/html/classDS3232RTC.html
@@ -0,0 +1,758 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Communicates with a DS3232 realtime clock chip via I2C. + More...
+ +#include <DS3232RTC.h>
+
+ +Public Member Functions | |
| DS3232RTC (I2CMaster &bus, uint8_t oneHzPin=255) | |
| Attaches to a realtime clock slave device on bus. More... | |
| +bool | isRealTime () const |
| Returns true if the realtime clock is on the I2C bus; false if the time and date are simulated. | |
| bool | hasUpdates () |
| Returns true if the realtime clock has updated since the last call to this function. More... | |
| void | readTime (RTCTime *value) |
| Reads the current time from the realtime clock into value. More... | |
| void | readDate (RTCDate *value) |
| Reads the current date from the realtime clock into value. More... | |
| void | writeTime (const RTCTime *value) |
| Updates the time in the realtime clock to match value. More... | |
| void | writeDate (const RTCDate *value) |
| Updates the date in the realtime clock to match value. More... | |
| void | readAlarm (uint8_t alarmNum, RTCAlarm *value) |
| Reads the details of the alarm with index alarmNum into value. More... | |
| void | writeAlarm (uint8_t alarmNum, const RTCAlarm *value) |
| Updates the details of the alarm with index alarmNum from value. More... | |
| int | byteCount () const |
| Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms. More... | |
| uint8_t | readByte (uint8_t offset) |
| Reads the byte at offset within the realtime clock's non-volatile memory. More... | |
| void | writeByte (uint8_t offset, uint8_t value) |
| Writes value to offset within the realtime clock's non-volatile memory. More... | |
| int | readTemperature () |
| Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius. More... | |
| void | enableAlarmInterrupts () |
| Enables the generation of interrupts for alarms 0 and 1. More... | |
| void | disableAlarmInterrupts () |
| Disables the generation of interrupts for alarms 0 and 1. More... | |
| int | firedAlarm () |
| Determines which of alarms 0 or 1 have fired since the last call. More... | |
| void | enable32kHzOutput () |
| Enables the 32 kHz output on the DS3232 chip. More... | |
| void | disable32kHzOutput () |
| Disables the 32 kHz output on the DS3232 chip. More... | |
Public Member Functions inherited from RTC | |
| RTC () | |
| Constructs a new realtime clock handler. More... | |
+Additional Inherited Members | |
Public Types inherited from RTC | |
| enum | DayOfWeek { + Monday = 1, +Tuesday, +Wednesday, +Thursday, + + Friday, +Saturday, +Sunday + + } |
| Day of the week corresponding to a date. More... | |
Static Public Member Functions inherited from RTC | |
| static void | adjustDays (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one day according to flags. More... | |
| static void | adjustMonths (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one month according to flags. More... | |
| static void | adjustYears (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one year according to flags. More... | |
| static DayOfWeek | dayOfWeek (const RTCDate *date) |
| Returns the day of the week corresponding to date. More... | |
Static Public Attributes inherited from RTC | |
| +static const uint8_t | ALARM_COUNT = 4 |
| Number of alarms that are supported by RTC::readAlarm() and RTC::writeAlarm(). | |
| +static const int | NO_TEMPERATURE = 32767 |
| Value that is returned from readTemperature() if the realtime clock chip cannot determine the temperature. | |
| +static const uint8_t | INCREMENT = 0x0000 |
| Increment the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | DECREMENT = 0x0001 |
| Decrement the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | WRAP = 0x0002 |
| Wrap around to the beginning of the current month/year rather than advance to the next one. | |
Communicates with a DS3232 realtime clock chip via I2C.
+This class simplifies the process of reading and writing the time and date information in a DS3232 realtime clock chip. The class also provides support for reading and writing information about alarms and other clock settings.
+If there is no DS3232 chip on the I2C bus, this class will fall back to the RTC class to simulate the current time and date based on the value of millis().
+Alarms 0 and 1 can be set to generate an interrupt when they fire using enableAlarmInterrupts(). The firedAlarm() function can be used to determine which alarm has fired. Alarms 2 and 3 cannot be monitored with interrupts.
+The DS3232 uses a 2-digit year so this class is limited to dates between 2000 and 2099 inclusive.
+Note: if this class has not been used with the DS3232 chip before, then the contents of NVRAM will be cleared. Any previous contents will be lost.
+ + +Definition at line 30 of file DS3232RTC.h.
+| DS3232RTC::DS3232RTC | +( | +I2CMaster & | +bus, | +
| + | + | uint8_t | +oneHzPin = 255 |
+
| + | ) | ++ |
Attaches to a realtime clock slave device on bus.
+If oneHzPin is not 255, then it indicates a digital input pin that is connected to the 1 Hz square wave output on the realtime clock. This input is used by hasUpdates() to determine if the time information has changed in a non-trivial manner.
+If you wish to use enableAlarmInterrupts(), then oneHzPin must be 255.
+Definition at line 126 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms.
+Reimplemented from RTC.
+ +Definition at line 335 of file DS3232RTC.cpp.
+ +| void DS3232RTC::disable32kHzOutput | +( | +) | ++ |
Disables the 32 kHz output on the DS3232 chip.
+Definition at line 458 of file DS3232RTC.cpp.
+ +| void DS3232RTC::disableAlarmInterrupts | +( | +) | ++ |
Disables the generation of interrupts for alarms 0 and 1.
+Definition at line 393 of file DS3232RTC.cpp.
+ +| void DS3232RTC::enable32kHzOutput | +( | +) | ++ |
Enables the 32 kHz output on the DS3232 chip.
+Definition at line 444 of file DS3232RTC.cpp.
+ +| void DS3232RTC::enableAlarmInterrupts | +( | +) | ++ |
Enables the generation of interrupts for alarms 0 and 1.
+When the interrupt occurs, use firedAlarm() to determine which alarm has fired. The application is responsible for implementing the interrupt service routine to watch for the interrupt.
+Note: this function does nothing if the 1 Hz pin was enabled in the constructor, but firedAlarm() can still be used to determine which alarm has fired when hasUpdates() reports that there is an update available.
+Definition at line 380 of file DS3232RTC.cpp.
+ +| int DS3232RTC::firedAlarm | +( | +) | ++ |
Determines which of alarms 0 or 1 have fired since the last call.
+Returns 0 if alarm 0 has fired, 1 if alarm 1 has fired, 2 if both alarms have fired, or -1 if neither alarm has fired.
+The fired alarm state will be cleared, ready for the next call.
+This function cannot be used to determine if alarms 2 or 3 have fired as they are stored in NVRAM and are not handled specially by the DS3232.
+Definition at line 416 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Returns true if the realtime clock has updated since the last call to this function.
+The default implementation returns true, indicating that an update is always available to be read.
+ +Reimplemented from RTC.
+ +Definition at line 166 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the details of the alarm with index alarmNum into value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+Reimplemented from RTC.
+ +Definition at line 278 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the byte at offset within the realtime clock's non-volatile memory.
+The offset parameter must be between 0 and byteCount() - 1.
+Reimplemented from RTC.
+ +Definition at line 340 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the current date from the realtime clock into value.
+The time should be read first with readTime() as the default implementation only advances the date when the time is read and it crosses midnight.
+Reimplemented from RTC.
+ +Definition at line 225 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius.
+Returns the value NO_TEMPERATURE if the realtime clock chip cannot determine the temperature.
+ +Reimplemented from RTC.
+ +Definition at line 356 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Reads the current time from the realtime clock into value.
+Reimplemented from RTC.
+ +Definition at line 205 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the details of the alarm with index alarmNum from value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+Reimplemented from RTC.
+ +Definition at line 298 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Writes value to offset within the realtime clock's non-volatile memory.
+The offset parameter must be between 0 and byteCount() - 1.
+Reimplemented from RTC.
+ +Definition at line 348 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the date in the realtime clock to match value.
+Reimplemented from RTC.
+ +Definition at line 264 of file DS3232RTC.cpp.
+ +
+
|
+ +virtual | +
Updates the time in the realtime clock to match value.
+Reimplemented from RTC.
+ +Definition at line 250 of file DS3232RTC.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classDS3232RTC.png b/html/classDS3232RTC.png
new file mode 100644
index 00000000..0dc8cb0d
Binary files /dev/null and b/html/classDS3232RTC.png differ
diff --git a/html/classEEPROM24-members.html b/html/classEEPROM24-members.html
new file mode 100644
index 00000000..935ed035
--- /dev/null
+++ b/html/classEEPROM24-members.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for EEPROM24, including all inherited members.
+| available() | EEPROM24 | |
| EEPROM24(I2CMaster &bus, unsigned long type, uint8_t bank=0) | EEPROM24 | |
| pageSize() const | EEPROM24 | inline |
| read(unsigned long address) | EEPROM24 | |
| read(unsigned long address, void *data, size_t length) | EEPROM24 | |
| size() const | EEPROM24 | inline |
| write(unsigned long address, uint8_t value) | EEPROM24 | |
| write(unsigned long address, const void *data, size_t length) | EEPROM24 |
+ 1.8.6
+
+
+
diff --git a/html/classEEPROM24.html b/html/classEEPROM24.html
new file mode 100644
index 00000000..54350ab1
--- /dev/null
+++ b/html/classEEPROM24.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Reading and writing EEPROM's from the 24LCXX family. + More...
+ +#include <EEPROM24.h>
+Public Member Functions | |
| EEPROM24 (I2CMaster &bus, unsigned long type, uint8_t bank=0) | |
| Constructs a new EEPROM access object on bus for an EEPROM of the specified type. More... | |
| unsigned long | size () const |
| Returns the size of the EEPROM in bytes. More... | |
| unsigned long | pageSize () const |
| Returns the size of a single EEPROM page in bytes. More... | |
| bool | available () |
| Returns true if the EEPROM is available on the I2C bus; false otherwise. More... | |
| uint8_t | read (unsigned long address) |
| Reads a single byte from the EEPROM at address. More... | |
| size_t | read (unsigned long address, void *data, size_t length) |
| Reads a block of length bytes from the EEPROM at address into the specified data buffer. More... | |
| bool | write (unsigned long address, uint8_t value) |
| Writes a byte value to address in the EEPROM. More... | |
| size_t | write (unsigned long address, const void *data, size_t length) |
| Writes length bytes from a data buffer to address in the EEPROM. More... | |
Reading and writing EEPROM's from the 24LCXX family.
+The 24LCXX family of EEPROM's provide a variety of memory sizes from 16 bytes up to 128 kBytes that can be accessed via the I2C protocol. These chips can be used to augment the 1 kByte or so of builtin EEPROM memory that is typical on Arduino boards. The EEPROM should be wired to an Arduino Uno as follows:
+
+Access to a 24LCXX chip is initialized as follows:
+Once initialized, read() and write() can be used to manipulate the contents of the EEPROM's memory.
+The following EEPROM types are supported by this class:
+| Chip | Type | Size |
| 24lc00 | EEPROM_24LC00 | 16 bytes |
| 24lc01 | EEPROM_24LC01 | 128 bytes |
| 24lc014 | EEPROM_24LC014 | 128 bytes |
| 24lc02 | EEPROM_24LC02 | 256 bytes |
| 24lc024 | EEPROM_24LC024 | 256 bytes |
| 24lc025 | EEPROM_24LC025 | 256 bytes |
| 24lc04 | EEPROM_24LC04 | 512 bytes |
| 24lc08 | EEPROM_24LC08 | 1 kByte |
| 24lc16 | EEPROM_24LC16 | 2 kBytes |
| 24lc32 | EEPROM_24LC32 | 4 kBytes |
| 24lc64 | EEPROM_24LC64 | 8 kBytes |
| 24lc128 | EEPROM_24LC128 | 16 kBytes |
| 24lc256 | EEPROM_24LC256 | 32 kBytes |
| 24lc512 | EEPROM_24LC512 | 64 kBytes |
| 24lc1025 | EEPROM_24LC1025 | 128 kBytes |
| 24lc1026 | EEPROM_24LC1026 | 128 kBytes |
There can be multiple 24LCXX chips on the same I2C bus, as long as their A0, A1, and A2 address pins are set to different values. For example, two 24LC256 chips can be used to provide the same memory capacity as a single 24LC512 chip. The optional bank parameter to the constructor is used to assign different bank addresses to each chip:
+Definition at line 60 of file EEPROM24.h.
+| EEPROM24::EEPROM24 | +( | +I2CMaster & | +bus, | +
| + | + | unsigned long | +type, | +
| + | + | uint8_t | +bank = 0 |
+
| + | ) | ++ |
Constructs a new EEPROM access object on bus for an EEPROM of the specified type.
+The bank can be used to choose between multiple EEPROM's on bus of the specified type. The bank corresponds to the value that is set on the EEPROM's A0, A1, and A2 address pins. Note that some EEPROM's have less than 3 address pins; consult the datasheet for more information.
+ +Definition at line 95 of file EEPROM24.cpp.
+ +| bool EEPROM24::available | +( | +) | ++ |
Returns true if the EEPROM is available on the I2C bus; false otherwise.
+This function can be used to probe the I2C bus to determine if the EEPROM is present or not.
+ + +Definition at line 152 of file EEPROM24.cpp.
+ +
+
|
+ +inline | +
Returns the size of a single EEPROM page in bytes.
+Writes that are a multiple of the page size and aligned on a page boundary will typically be more efficient than non-aligned writes.
+Definition at line 66 of file EEPROM24.h.
+ +| uint8_t EEPROM24::read | +( | +unsigned long | +address | ) | ++ |
Reads a single byte from the EEPROM at address.
+Definition at line 167 of file EEPROM24.cpp.
+ +| size_t EEPROM24::read | +( | +unsigned long | +address, | +
| + | + | void * | +data, | +
| + | + | size_t | +length | +
| + | ) | ++ |
Reads a block of length bytes from the EEPROM at address into the specified data buffer.
+Returns the number of bytes that were read, which may be short if address + length is greater than size() or the EEPROM is not available on the I2C bus.
+Definition at line 187 of file EEPROM24.cpp.
+ +
+
|
+ +inline | +
Returns the size of the EEPROM in bytes.
+Definition at line 65 of file EEPROM24.h.
+ +| bool EEPROM24::write | +( | +unsigned long | +address, | +
| + | + | uint8_t | +value | +
| + | ) | ++ |
Writes a byte value to address in the EEPROM.
+Returns true if the byte was written successfully, or false if address is out of range or the EEPROM is not available on the I2C bus.
+Definition at line 213 of file EEPROM24.cpp.
+ +| size_t EEPROM24::write | +( | +unsigned long | +address, | +
| + | + | const void * | +data, | +
| + | + | size_t | +length | +
| + | ) | ++ |
Writes length bytes from a data buffer to address in the EEPROM.
+Returns the number of bytes that were written, which may be short if address + length is greater than size() or the EEPROM is not available on the I2C bus.
+Best performance will be achieved if address and length are a multiple of pageSize().
+Definition at line 235 of file EEPROM24.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classField-members.html b/html/classField-members.html
new file mode 100644
index 00000000..2a0f2c50
--- /dev/null
+++ b/html/classField-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Field, including all inherited members.
+| dispatch(int event) | Field | virtual |
| enterField(bool reverse) | Field | virtual |
| exitField() | Field | virtual |
| Field(const String &label) | Field | explicit |
| Field(Form &form, const String &label) | Field | |
| form() const | Field | inline |
| Form (defined in Field) | Field | friend |
| isCurrent() const | Field | |
| label() const | Field | inline |
| lcd() const | Field | inlineprotected |
| setLabel(const String &label) | Field | |
| updateCursor() | Field | protectedvirtual |
| ~Field() | Field |
+ 1.8.6
+
+
+
diff --git a/html/classField.html b/html/classField.html
new file mode 100644
index 00000000..692b958a
--- /dev/null
+++ b/html/classField.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Manages a single data input/output field within a Form. + More...
+ +#include <Field.h>
+
+ +Public Member Functions | |
| Field (const String &label) | |
| Constructs a new field with a specific label. More... | |
| + | Field (Form &form, const String &label) |
| Constructs a new field with a specific label and attaches it to a form. | |
| ~Field () | |
| Destroys this field and removes it from its owning Form. More... | |
| +Form * | form () const |
| Returns the Form that owns this field; null if not associated with a Form. | |
| virtual int | dispatch (int event) |
| Dispatches event via this field. More... | |
| virtual void | enterField (bool reverse) |
| Enters the field due to form navigation. More... | |
| virtual void | exitField () |
| Exits the field due to form navigation. More... | |
| const String & | label () const |
| Returns the label to display in the first line of this field. More... | |
| void | setLabel (const String &label) |
| Sets the label to display in the first line of this field. More... | |
| bool | isCurrent () const |
| Returns true if this field is the currently-displayed field in its owning form; false otherwise. More... | |
+Protected Member Functions | |
| +LiquidCrystal * | lcd () const |
| Returns the LCD that this field is being drawn on. | |
| virtual void | updateCursor () |
| Updates the cursor position after the label has been drawn by setLabel(). More... | |
+Friends | |
| +class | Form |
Manages a single data input/output field within a Form.
+ + + +
+
|
+ +explicit | +
Constructs a new field with a specific label.
+The field is initially not associated with a Form. The field can be added to a form later using Form::addField().
+| Field::~Field | +( | +) | ++ |
Destroys this field and removes it from its owning Form.
+
+
|
+ +virtual | +
Dispatches event via this field.
+The event is usually obtained from LCD::getButton().
+Returns zero if the event has been handled and no further action is required.
+Returns FORM_CHANGED if the event has changed the value of this field in a manner that may require the application to take further action based on the new field value.
+Returns -1 if the event is not handled by this field, and should be handled by the Form itself (particularly for Left and Right buttons). The default implementation returns -1 for all events.
+Reimplemented in ListField, TimeField, IntField, and BoolField.
+ + + +
+
|
+ +virtual | +
Enters the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate to the field. If reverse is true, then navigation was due to the Left button being pressed.
+This function can assume that the display has been cleared and the cursor is positioned at (0, 0).
+The default implementation prints the label().
+Reimplemented in ListField, TimeField, IntField, BoolField, and TextField.
+ + + +
+
|
+ +virtual | +
Exits the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate from the field.
+Reimplemented in TimeField.
+ + + +| bool Field::isCurrent | +( | +) | +const | +
+
|
+ +inline | +
Returns the label to display in the first line of this field.
+| void Field::setLabel | +( | +const String & | +label | ) | ++ |
+
|
+ +protectedvirtual | +
Updates the cursor position after the label has been drawn by setLabel().
+The default implementation does nothing. Subclasses that use an LCD cursor may override this to ensure that the cursor position stays valid after the label is modified.
+
+ 1.8.6
+
+
+
diff --git a/html/classField.png b/html/classField.png
new file mode 100644
index 00000000..7dcee809
Binary files /dev/null and b/html/classField.png differ
diff --git a/html/classForm-members.html b/html/classForm-members.html
new file mode 100644
index 00000000..bfd42e65
--- /dev/null
+++ b/html/classForm-members.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Form, including all inherited members.
+| addField(Field *field) | Form | |
| currentField() const | Form | inline |
| defaultField() | Form | |
| dispatch(int event) | Form | |
| Field (defined in Form) | Form | friend |
| Form(LiquidCrystal &lcd) | Form | explicit |
| hide() | Form | |
| isCurrent(Field &field) const | Form | inline |
| isVisible() const | Form | inline |
| nextField() | Form | |
| prevField() | Form | |
| removeField(Field *field) | Form | |
| setCurrentField(Field *field) | Form | |
| show() | Form | |
| ~Form() | Form |
+ 1.8.6
+
+
+
diff --git a/html/classForm.html b/html/classForm.html
new file mode 100644
index 00000000..dac6c529
--- /dev/null
+++ b/html/classForm.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Manager for a form containing data input/output fields. + More...
+ +#include <Form.h>
+Public Member Functions | |
| Form (LiquidCrystal &lcd) | |
| Constructs a new form and associates it with lcd. More... | |
| + | ~Form () |
| Detaches all remaining fields and destroys this form. | |
| int | dispatch (int event) |
| Dispatches event to the currently active field using Field::dispatch(). More... | |
| void | nextField () |
| Changes to the next field in the "tab order". More... | |
| void | prevField () |
| Changes to the previous field in the "tab order". More... | |
| void | defaultField () |
| Changes to default field (i.e., the first field). More... | |
| void | addField (Field *field) |
| Adds field to this form. More... | |
| void | removeField (Field *field) |
| Removes field from this form. More... | |
| Field * | currentField () const |
| Returns the current field that is displayed on-screen. More... | |
| void | setCurrentField (Field *field) |
| Sets the current field that is displayed on-screen. More... | |
| bool | isCurrent (Field &field) const |
| Returns true if field is currently displayed on-screen, false otherwise. More... | |
| void | show () |
| Shows the form, or does nothing if the form is already on-screen. More... | |
| void | hide () |
| Hides the form, or does nothing if the form is not on-screen. More... | |
| bool | isVisible () const |
| Returns true if the form is shown; false if the form is hidden. More... | |
+Friends | |
| +class | Field |
Manager for a form containing data input/output fields.
+See the Form example for more information on creating an application that uses forms and fields.
+ + +
+
|
+ +explicit | +
Constructs a new form and associates it with lcd.
+This constructor is typically followed by calls to construct Field values for each of the fields on the form. For example:
+
+| void Form::addField | +( | +Field * | +field | ) | ++ |
Adds field to this form.
+Usually this function is not required because the field's constructor will add the field to the form automatically.
+
+
|
+ +inline | +
Returns the current field that is displayed on-screen.
+Returns null if the form has no fields, or setCurrentField() explicitly set the current field to null.
+| void Form::defaultField | +( | +) | ++ |
Changes to default field (i.e., the first field).
+| int Form::dispatch | +( | +int | +event | ) | ++ |
Dispatches event to the currently active field using Field::dispatch().
+The event is usually obtained from LCD::getButton().
+Returns zero if the event has been handled and no further action is required.
+Returns FORM_CHANGED if one of the fields on the form has changed value due to the event, perhaps requiring the application to take further action based on the new field value. Use currentField() or isCurrent() to determine which field has changed.
+This function handles the Left and Right buttons to navigate between fields.
+ + + + +| void Form::hide | +( | +) | ++ |
Hides the form, or does nothing if the form is not on-screen.
+The screen will be cleared to remove the contents of the current field.
+
+
|
+ +inline | +
Returns true if field is currently displayed on-screen, false otherwise.
+This function is typically called after dispatch() returns FORM_CHANGED to determine which field has changed.
+
+
|
+ +inline | +
| void Form::nextField | +( | +) | ++ |
Changes to the next field in the "tab order".
+| void Form::prevField | +( | +) | ++ |
Changes to the previous field in the "tab order".
+| void Form::removeField | +( | +Field * | +field | ) | ++ |
Removes field from this form.
+If field is the current field on-screen, then either the next or previous field will be made current.
+| void Form::setCurrentField | +( | +Field * | +field | ) | ++ |
Sets the current field that is displayed on-screen.
+Use this function to programmatically force the form to display a specific field on-screen.
+| void Form::show | +( | +) | ++ |
Shows the form, or does nothing if the form is already on-screen.
+When the form is shown, the screen will be cleared and the currentField() will be drawn.
+If the form was previously hidden, then the field that was previously current will be shown again. Call defaultField() before show() to reset the form to show the first field instead.
+
+ 1.8.6
+
+
+
diff --git a/html/classHash-members.html b/html/classHash-members.html
new file mode 100644
index 00000000..0ee9ba82
--- /dev/null
+++ b/html/classHash-members.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Hash, including all inherited members.
+| blockSize() const =0 | Hash | pure virtual |
| clear()=0 | Hash | pure virtual |
| finalize(void *hash, size_t len)=0 | Hash | pure virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen)=0 | Hash | pure virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| Hash() | Hash | |
| hashSize() const =0 | Hash | pure virtual |
| reset()=0 | Hash | pure virtual |
| resetHMAC(const void *key, size_t keyLen)=0 | Hash | pure virtual |
| update(const void *data, size_t len)=0 | Hash | pure virtual |
| ~Hash() | Hash | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classHash.html b/html/classHash.html
new file mode 100644
index 00000000..99a1878b
--- /dev/null
+++ b/html/classHash.html
@@ -0,0 +1,584 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Abstract base class for cryptographic hash algorithms. + More...
+ +#include <Hash.h>
+
+ +Public Member Functions | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
| virtual size_t | hashSize () const =0 |
| Size of the hash result from finalize(). More... | |
| virtual size_t | blockSize () const =0 |
| Size of the internal block used by the hash algorithm. More... | |
| virtual void | reset ()=0 |
| Resets the hash ready for a new hashing process. More... | |
| virtual void | update (const void *data, size_t len)=0 |
| Updates the hash with more data. More... | |
| virtual void | finalize (void *hash, size_t len)=0 |
| Finalizes the hashing process and returns the hash. More... | |
| virtual void | clear ()=0 |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| virtual void | resetHMAC (const void *key, size_t keyLen)=0 |
| Resets the hash ready for a new HMAC hashing process. More... | |
| virtual void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen)=0 |
| Finalizes the HMAC hashing process and returns the hash. More... | |
+Protected Member Functions | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
Abstract base class for cryptographic hash algorithms.
+ + + +
+
|
+ +virtual | +
+
|
+ +pure virtual | +
+
|
+ +pure virtual | +
+
|
+ +pure virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implemented in SHA3_512, BLAKE2b, BLAKE2s, SHA3_256, SHA1, SHA256, and SHA512.
+ +
+
|
+ +pure virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implemented in SHA3_512, BLAKE2b, BLAKE2s, SHA3_256, SHA1, SHA256, and SHA512.
+ +
+
|
+ +protected | +
Formats a HMAC key into a block.
+| block | The block to format the key into. Must be at least blockSize() bytes in length. |
| key | Points to the HMAC key for the hashing process. |
| len | Length of the HMAC key in bytes. |
| pad | Inner (0x36) or outer (0x5C) padding value to XOR with the formatted HMAC key. |
This function is intended to help subclasses implement resetHMAC() and finalizeHMAC() by directly formatting the HMAC key into the subclass's internal block buffer and resetting the hash.
+ + + +
+
|
+ +pure virtual | +
Size of the hash result from finalize().
+Implemented in SHA3_512, SHA3_256, BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.
+ +
+
|
+ +pure virtual | +
Resets the hash ready for a new hashing process.
+Implemented in SHA3_512, SHA3_256, BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.
+ +
+
|
+ +pure virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implemented in SHA3_512, BLAKE2b, BLAKE2s, SHA3_256, SHA1, SHA256, and SHA512.
+ +
+
|
+ +pure virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implemented in SHA3_512, BLAKE2b, BLAKE2s, SHA3_256, SHA1, SHA256, and SHA512.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classHash.png b/html/classHash.png
new file mode 100644
index 00000000..9324f7da
Binary files /dev/null and b/html/classHash.png differ
diff --git a/html/classI2CMaster-members.html b/html/classI2CMaster-members.html
new file mode 100644
index 00000000..f9ffa15a
--- /dev/null
+++ b/html/classI2CMaster-members.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for I2CMaster, including all inherited members.
+| available()=0 | I2CMaster | pure virtual |
| endWrite()=0 | I2CMaster | pure virtual |
| maxTransferSize() const =0 | I2CMaster | pure virtual |
| read()=0 | I2CMaster | pure virtual |
| startRead(unsigned int address, unsigned int count)=0 | I2CMaster | pure virtual |
| startWrite(unsigned int address) | I2CMaster | virtual |
| write(uint8_t value)=0 | I2CMaster | pure virtual |
+ 1.8.6
+
+
+
diff --git a/html/classI2CMaster.html b/html/classI2CMaster.html
new file mode 100644
index 00000000..07523ad8
--- /dev/null
+++ b/html/classI2CMaster.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Abstract base class for I2C master implementations. + More...
+ +#include <I2CMaster.h>
+
+ +Public Member Functions | |
| +virtual unsigned int | maxTransferSize () const =0 |
| Returns the maximum number of bytes that can be read or written in a single request by this bus master. | |
| virtual void | startWrite (unsigned int address) |
| Starts a write operation by sending a start condition and the I2C control byte. More... | |
| virtual void | write (uint8_t value)=0 |
| Writes a single byte value on the I2C bus. More... | |
| virtual bool | endWrite ()=0 |
| Ends the current write operation. More... | |
| virtual bool | startRead (unsigned int address, unsigned int count)=0 |
| Starts a read operation for count bytes by sending the start condition and the I2C control byte. More... | |
| virtual unsigned int | available ()=0 |
| Returns the number of bytes that are still available for reading. More... | |
| virtual uint8_t | read ()=0 |
| Reads a single byte from the I2C bus. More... | |
Abstract base class for I2C master implementations.
+Definition at line 28 of file I2CMaster.h.
+
+
|
+ +pure virtual | +
Returns the number of bytes that are still available for reading.
+Implemented in SoftI2C.
+ +
+
|
+ +pure virtual | +
Ends the current write operation.
+Returns true if the write operation was acknowledged; false otherwise.
+Implemented in SoftI2C.
+ +
+
|
+ +pure virtual | +
Reads a single byte from the I2C bus.
+Implemented in SoftI2C.
+ +
+
|
+ +pure virtual | +
Starts a read operation for count bytes by sending the start condition and the I2C control byte.
+The address must be the 7-bit or 10-bit address of the I2C slave on the bus.
+Returns true if the read request was acknowledged by the I2C slave or false otherwise. If true, this function should be followed by count calls to read() to fetch the bytes.
+Implemented in SoftI2C.
+ +
+
|
+ +virtual | +
Starts a write operation by sending a start condition and the I2C control byte.
+The address must be the 7-bit or 10-bit address of the I2C slave on the bus.
+Reimplemented in SoftI2C.
+ +
+
|
+ +pure virtual | +
Writes a single byte value on the I2C bus.
+Implemented in SoftI2C.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classI2CMaster.png b/html/classI2CMaster.png
new file mode 100644
index 00000000..74b8b7cb
Binary files /dev/null and b/html/classI2CMaster.png differ
diff --git a/html/classIRreceiver-members.html b/html/classIRreceiver-members.html
new file mode 100644
index 00000000..91e656dd
--- /dev/null
+++ b/html/classIRreceiver-members.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for IRreceiver, including all inherited members.
+| _IR_receive_interrupt (defined in IRreceiver) | IRreceiver | friend |
| AUTO_REPEAT | IRreceiver | static |
| command() | IRreceiver | |
| IRreceiver(int interruptNumber=0) | IRreceiver | explicit |
| setSystemFilter(int system) | IRreceiver | inline |
| system() const | IRreceiver | inline |
| systemFilter() const | IRreceiver | inline |
+ 1.8.6
+
+
+
diff --git a/html/classIRreceiver.html b/html/classIRreceiver.html
new file mode 100644
index 00000000..b4af25b4
--- /dev/null
+++ b/html/classIRreceiver.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Manages the reception of RC-5 commands from an infrared remote control. + More...
+ +#include <IRreceiver.h>
+Public Member Functions | |
| + | IRreceiver (int interruptNumber=0) |
| Constructs a new infrared remote control receiver that is attached to interruptNumber. | |
| int | command () |
| Returns the next command from the remote control. More... | |
| int | system () const |
| Returns the system number of the previous command(), indicating whether the command was for a TV, VCR, CD player, etc. More... | |
| int | systemFilter () const |
| Returns the system to filter commands against, or -1 if no filter is set. More... | |
| void | setSystemFilter (int system) |
| Sets the system to filter commands against, or -1 to turn off the system filter. More... | |
+Static Public Attributes | |
| +static const int | AUTO_REPEAT = 128 |
| Flag that is added to the output of command() when the command is an auto-repeated button press rather than the original button press. | |
+Friends | |
| +void | _IR_receive_interrupt (void) |
Manages the reception of RC-5 commands from an infrared remote control.
+IRreceiver recognizes commands in the Philips RC-5 protocol. This is a fairly common infrared protocol, supported by most universal remote controls. Program the universal remote to simulate a Philips TV, VCR, CD player, etc.
+This class uses interrupts to process incoming bits from a standard 3-pin infrared receiver:
+
+Typically, pin 1 of the receiver should be connected to the Arduino interrupt pin (e.g. D2), pin 2 should be connected to GND, and pin 3 should be connected to 5V. Consult the datasheet for your receiver to be sure though; some receivers may have different pin assignments.
+The receiver is initialized by constructing an instance of the IRreceiver class:
+By default, interrupt 0 on pin D2 is used. To change to another interrupt, pass its number to the constructor:
+Currently this class can only handle a single instance of IRreceiver being active in the application. It isn't possible to have separate IRreceiver instances on different pins. Usually this won't be a problem because the same receiver can process inputs from multiple remotes.
+The application retrieves incoming infrared commands by calling the command() function. The return value indicates the type of command:
+If the command is an auto-repeat of a previous button press, then the AUTO_REPEAT flag will be set in the value returned from command(). The application can choose to ignore all auto-repeats, process all auto-repeats, or choose which button to auto-repeat based on its code:
+By default, command codes will be generated for every type of RC-5 remote control, be it a TV, VCR, CD player, or something else. The application can distinguish between the remote controls using system(); noting that command() must be called before system() for the system value to be valid. For example, the following code could be used in a two-player video game where the first player's remote is configured as a TV and the second player's remote is configured as a VCR:
+If the application only cares about a single system and wishes to ignore all other systems, it can configure a system filter at startup:
+The complete list of RC-5 system numbers and command codes is given in the RC5.h header file.
+Definition at line 29 of file IRreceiver.h.
+| int IRreceiver::command | +( | +) | ++ |
Returns the next command from the remote control.
+Returns -1 if there is no new command, or the number between 0 and 127 corresponding to the command. If the command is an auto-repeat button press rather than an original button press, then the AUTO_REPEAT flag will be set.
+The companion function system() will return the system number for the command indicating whether the command is for a TV, VCR, CD player, etc. By default, all systems are reported; use setSystemFilter() to filter out commands from all but a specific system.
+The next call to command() will return -1 or the code for the next button press.
+The header file RC5.h contains a list of command codes for common remote controls.
Definition at line 220 of file IRreceiver.cpp.
+ +
+
|
+ +inline | +
Sets the system to filter commands against, or -1 to turn off the system filter.
+If system is -1, then all received systems are returned via command() and system() irrespective of whether they are for a TV, VCR, CD player, or some other type of system. If system is set to anything other than -1, then only commands for that system are returned via command(). For example:
+Definition at line 40 of file IRreceiver.h.
+ +
+
|
+ +inline | +
Returns the system number of the previous command(), indicating whether the command was for a TV, VCR, CD player, etc.
+The return value from this function is valid only after a call to command(). The next call to command() will clear the system value, possibly to -1 if there is no new command.
+The header file RC5.h contains a list of system numbers for common remote controls.
Definition at line 37 of file IRreceiver.h.
+ +
+
|
+ +inline | +
Returns the system to filter commands against, or -1 if no filter is set.
+If this value is -1, then all received systems are returned via command() and system() irrespective of whether they are for a TV, VCR, CD player, or some other type of system. If this value is set to anything other than -1, then only commands for that system are returned via command().
+Definition at line 39 of file IRreceiver.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classIntField-members.html b/html/classIntField-members.html
new file mode 100644
index 00000000..f8538a1e
--- /dev/null
+++ b/html/classIntField-members.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for IntField, including all inherited members.
+| dispatch(int event) | IntField | virtual |
| enterField(bool reverse) | IntField | virtual |
| exitField() | Field | virtual |
| Field(const String &label) | Field | explicit |
| Field(Form &form, const String &label) | Field | |
| form() const | Field | inline |
| IntField(const String &label) | IntField | explicit |
| IntField(Form &form, const String &label, int minValue, int maxValue, int stepValue, int value) | IntField | |
| IntField(Form &form, const String &label, int minValue, int maxValue, int stepValue, int value, const String &suffix) | IntField | |
| isCurrent() const | Field | |
| label() const | Field | inline |
| lcd() const | Field | inlineprotected |
| maxValue() const | IntField | inline |
| minValue() const | IntField | inline |
| setLabel(const String &label) | Field | |
| setMaxValue(int value) | IntField | inline |
| setMinValue(int value) | IntField | inline |
| setStepValue(int value) | IntField | inline |
| setSuffix(const String &suffix) | IntField | |
| setValue(int value) | IntField | |
| stepValue() const | IntField | inline |
| suffix() const | IntField | inline |
| updateCursor() | Field | protectedvirtual |
| value() const | IntField | inline |
| ~Field() | Field |
+ 1.8.6
+
+
+
diff --git a/html/classIntField.html b/html/classIntField.html
new file mode 100644
index 00000000..4873c695
--- /dev/null
+++ b/html/classIntField.html
@@ -0,0 +1,655 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Field that manages the input of an integer value. + More...
+ +#include <IntField.h>
+
+ +Public Member Functions | |
| IntField (const String &label) | |
| Constructs a new integer field with a specific label. More... | |
| IntField (Form &form, const String &label, int minValue, int maxValue, int stepValue, int value) | |
| Constructs a new integer field with a specific label, minValue, maxValue, stepValue, and value, and attaches it to a form. More... | |
| + | IntField (Form &form, const String &label, int minValue, int maxValue, int stepValue, int value, const String &suffix) |
| Constructs a new integer field with a specific label, minValue, maxValue, stepValue, value, and suffix and attaches it to a form. | |
| int | dispatch (int event) |
| Dispatches event via this field. More... | |
| void | enterField (bool reverse) |
| Enters the field due to form navigation. More... | |
| int | minValue () const |
| Returns the minimum value for the input field. More... | |
| void | setMinValue (int value) |
| Sets the minimum value for the input field. More... | |
| int | maxValue () const |
| Returns the maximum value for the input field. More... | |
| void | setMaxValue (int value) |
| Sets the maximum value for the input field. More... | |
| int | stepValue () const |
| Returns the step value to use when increasing or decreasing the value() due to Up and Down button presses. More... | |
| void | setStepValue (int value) |
| Sets the step value value to use when increasing or decreasing the value() due to Up and Down button presses. More... | |
| int | value () const |
| Returns the current value of this field. More... | |
| void | setValue (int value) |
| Sets the current value of this field. More... | |
| const String & | suffix () const |
| Returns the suffix string to be displayed after the field's value. More... | |
| void | setSuffix (const String &suffix) |
| Sets the suffix string to be displayed after the field's value. More... | |
Public Member Functions inherited from Field | |
| Field (const String &label) | |
| Constructs a new field with a specific label. More... | |
| + | Field (Form &form, const String &label) |
| Constructs a new field with a specific label and attaches it to a form. | |
| ~Field () | |
| Destroys this field and removes it from its owning Form. More... | |
| +Form * | form () const |
| Returns the Form that owns this field; null if not associated with a Form. | |
| virtual void | exitField () |
| Exits the field due to form navigation. More... | |
| const String & | label () const |
| Returns the label to display in the first line of this field. More... | |
| void | setLabel (const String &label) |
| Sets the label to display in the first line of this field. More... | |
| bool | isCurrent () const |
| Returns true if this field is the currently-displayed field in its owning form; false otherwise. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Field | |
| +LiquidCrystal * | lcd () const |
| Returns the LCD that this field is being drawn on. | |
| virtual void | updateCursor () |
| Updates the cursor position after the label has been drawn by setLabel(). More... | |
Field that manages the input of an integer value.
+IntField is intended for field values that are modifiable by the user. Pressing Up adds stepValue() to the current value and pressing Down subtracts stepValue() from the current value. The value is clamped to the range minValue() to maxValue().
+The following example creates an integer field with the label "Iterations", that ranges between 1 and 5, with a stepValue() of 1, and an initial default value() of 2:
+IntField can be configured to show a suffix() on the screen after the integer value(). This is intended for communicating the units in which the value is expressed. For example:
+
+Use TextField for read-only fields that report integer values but which are not modifiable by the user.
+ + +Definition at line 28 of file IntField.h.
+
+
|
+ +explicit | +
Constructs a new integer field with a specific label.
+The field is initially not associated with a Form. The field can be added to a form later using Form::addField().
+Initially, value() is 0, minValue() is 0, maxValue() is 100, stepValue() is 1, and suffix() is an empty string.
+Definition at line 71 of file IntField.cpp.
+ +| IntField::IntField | +( | +Form & | +form, | +
| + | + | const String & | +label, | +
| + | + | int | +minValue, | +
| + | + | int | +maxValue, | +
| + | + | int | +stepValue, | +
| + | + | int | +value | +
| + | ) | ++ |
Constructs a new integer field with a specific label, minValue, maxValue, stepValue, and value, and attaches it to a form.
+The suffix() is initially set to an empty string.
+ +Definition at line 88 of file IntField.cpp.
+ +
+
|
+ +virtual | +
Dispatches event via this field.
+The event is usually obtained from LCD::getButton().
+Returns zero if the event has been handled and no further action is required.
+Returns FORM_CHANGED if the event has changed the value of this field in a manner that may require the application to take further action based on the new field value.
+Returns -1 if the event is not handled by this field, and should be handled by the Form itself (particularly for Left and Right buttons). The default implementation returns -1 for all events.
+Reimplemented from Field.
+ +Definition at line 114 of file IntField.cpp.
+ +
+
|
+ +virtual | +
Enters the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate to the field. If reverse is true, then navigation was due to the Left button being pressed.
+This function can assume that the display has been cleared and the cursor is positioned at (0, 0).
+The default implementation prints the label().
+Reimplemented from Field.
+ +Definition at line 126 of file IntField.cpp.
+ +
+
|
+ +inline | +
Returns the maximum value for the input field.
+Definition at line 41 of file IntField.h.
+ +
+
|
+ +inline | +
Returns the minimum value for the input field.
+Definition at line 38 of file IntField.h.
+ +
+
|
+ +inline | +
Sets the maximum value for the input field.
+The new maximum value will be used to clamp the field's value the next time setValue() is called.
+Definition at line 42 of file IntField.h.
+ +
+
|
+ +inline | +
Sets the minimum value for the input field.
+The new minimum value will be used to clamp the field's value the next time setValue() is called.
+Definition at line 39 of file IntField.h.
+ +
+
|
+ +inline | +
Sets the step value value to use when increasing or decreasing the value() due to Up and Down button presses.
+Definition at line 45 of file IntField.h.
+ +| void IntField::setSuffix | +( | +const String & | +suffix | ) | ++ |
Sets the suffix string to be displayed after the field's value.
+Suffixes are typically used to indicate the units that the value() is expressed in. For example:
+Definition at line 231 of file IntField.cpp.
+ +| void IntField::setValue | +( | +int | +value | ) | ++ |
Sets the current value of this field.
+The value will be clamped to the range defined by minValue() and maxValue().
+Definition at line 198 of file IntField.cpp.
+ +
+
|
+ +inline | +
Returns the step value to use when increasing or decreasing the value() due to Up and Down button presses.
+Definition at line 44 of file IntField.h.
+ +
+
|
+ +inline | +
Returns the suffix string to be displayed after the field's value.
+Definition at line 50 of file IntField.h.
+ +
+
|
+ +inline | +
Returns the current value of this field.
+Definition at line 47 of file IntField.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classIntField.png b/html/classIntField.png
new file mode 100644
index 00000000..1afe0741
Binary files /dev/null and b/html/classIntField.png differ
diff --git a/html/classKeccakCore-members.html b/html/classKeccakCore-members.html
new file mode 100644
index 00000000..8dfa69f0
--- /dev/null
+++ b/html/classKeccakCore-members.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for KeccakCore, including all inherited members.
+| A (defined in KeccakCore) | KeccakCore | |
| B (defined in KeccakCore) | KeccakCore | |
| blockSize() const | KeccakCore | inline |
| capacity() const | KeccakCore | |
| clear() | KeccakCore | |
| extract(void *data, size_t size) | KeccakCore | |
| inputSize (defined in KeccakCore) | KeccakCore | |
| KeccakCore() | KeccakCore | |
| outputSize (defined in KeccakCore) | KeccakCore | |
| pad(uint8_t tag) | KeccakCore | |
| reset() | KeccakCore | |
| setCapacity(size_t capacity) | KeccakCore | |
| setHMACKey(const void *key, size_t len, uint8_t pad, size_t hashSize) | KeccakCore | |
| update(const void *data, size_t size) | KeccakCore | |
| ~KeccakCore() | KeccakCore |
+ 1.8.6
+
+
+
diff --git a/html/classKeccakCore.html b/html/classKeccakCore.html
new file mode 100644
index 00000000..9ddc03ec
--- /dev/null
+++ b/html/classKeccakCore.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Keccak core sponge function. + More...
+ +#include <KeccakCore.h>
+Public Member Functions | |
| KeccakCore () | |
| Constructs a new Keccak sponge function. More... | |
| + | ~KeccakCore () |
| Destroys this Keccak sponge function after clearing all sensitive information. | |
| size_t | capacity () const |
| Returns the capacity of the sponge function in bits. More... | |
| void | setCapacity (size_t capacity) |
| Sets the capacity of the Keccak sponge function in bits. More... | |
| size_t | blockSize () const |
| Returns the input block size for the sponge function in bytes. More... | |
| void | reset () |
| Resets the Keccak sponge function ready for a new session. More... | |
| void | update (const void *data, size_t size) |
| Updates the Keccak sponge function with more input data. More... | |
| void | pad (uint8_t tag) |
| Pads the last block of input data to blockSize(). More... | |
| void | extract (void *data, size_t size) |
| Extracts data from the Keccak sponge function. More... | |
| +void | clear () |
| Clears all sensitive data from this object. | |
| void | setHMACKey (const void *key, size_t len, uint8_t pad, size_t hashSize) |
| Sets a HMAC key for a Keccak-based hash algorithm. More... | |
Keccak core sponge function.
+KeccakCore provides the core sponge function for different capacities. It is used to implement Hash algorithms such as SHA3.
+References: http://en.wikipedia.org/wiki/SHA-3
+Definition at line 29 of file KeccakCore.h.
+| KeccakCore::KeccakCore | +( | +) | ++ |
Constructs a new Keccak sponge function.
+The capacity() will initially be set to 1536, which normally won't be of much use to the caller. The constructor should be followed by a call to setCapacity() to select the capacity of interest.
+ +Definition at line 49 of file KeccakCore.cpp.
+ +
+
|
+ +inline | +
Returns the input block size for the sponge function in bytes.
+The block size is (1600 - capacity()) / 8.
+Definition at line 38 of file KeccakCore.h.
+ +| size_t KeccakCore::capacity | +( | +) | +const | +
Returns the capacity of the sponge function in bits.
+Definition at line 71 of file KeccakCore.cpp.
+ +| void KeccakCore::extract | +( | +void * | +data, | +
| + | + | size_t | +size | +
| + | ) | ++ |
Extracts data from the Keccak sponge function.
+| data | The data buffer to fill with extracted data. |
| size | The number number of bytes of extracted data that are required. |
If more than blockSize() bytes are required, the sponge function will be invoked to generate additional data.
+ + +Definition at line 201 of file KeccakCore.cpp.
+ +| void KeccakCore::pad | +( | +uint8_t | +tag | ) | ++ |
Pads the last block of input data to blockSize().
+| tag | The tag byte to add to the padding to identify SHA3 (0x06), SHAKE (0x1F), or the plain pre-standardized version of Keccak (0x01). |
The sponge function will be invoked to process the completed padding block.
+ + +Definition at line 174 of file KeccakCore.cpp.
+ +| void KeccakCore::reset | +( | +) | ++ |
Resets the Keccak sponge function ready for a new session.
+ + +Definition at line 109 of file KeccakCore.cpp.
+ +| void KeccakCore::setCapacity | +( | +size_t | +capacity | ) | ++ |
Sets the capacity of the Keccak sponge function in bits.
+| capacity | The capacity of the Keccak sponge function in bits which should be a multiple of 64 and between 64 and 1536. |
Definition at line 89 of file KeccakCore.cpp.
+ +| void KeccakCore::setHMACKey | +( | +const void * | +key, | +
| + | + | size_t | +len, | +
| + | + | uint8_t | +pad, | +
| + | + | size_t | +hashSize | +
| + | ) | ++ |
Sets a HMAC key for a Keccak-based hash algorithm.
+| key | Points to the HMAC key for the hashing process. |
| len | Length of the HMAC key in bytes. |
| pad | Inner (0x36) or outer (0x5C) padding value to XOR with the formatted HMAC key. |
| hashSize | The size of the output from the hash algorithm. |
This function is intended to help classes implement Hash::resetHMAC() and Hash::finalizeHMAC() by directly formatting the HMAC key into the internal block buffer and resetting the hash.
+ +Definition at line 263 of file KeccakCore.cpp.
+ +| void KeccakCore::update | +( | +const void * | +data, | +
| + | + | size_t | +size | +
| + | ) | ++ |
Updates the Keccak sponge function with more input data.
+| data | The extra input data to incorporate. |
| size | The size of the new data to incorporate. |
This function will invoke the sponge function whenever a full blockSize() bytes of input data have been accumulated. Call pad() after the last block to finalize the input before calling extract().
+ + +Definition at line 128 of file KeccakCore.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classLCD-members.html b/html/classLCD-members.html
new file mode 100644
index 00000000..904d1010
--- /dev/null
+++ b/html/classLCD-members.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for LCD, including all inherited members.
+| BacklightOff enum value | LCD | |
| BacklightOnSelect enum value | LCD | |
| backlightPin() const | LCD | inline |
| disableScreenSaver() | LCD | |
| display() | LCD | |
| DisplayOff enum value | LCD | |
| enableScreenSaver(int timeoutSecs=10) | LCD | |
| getButton() | LCD | |
| isScreenSaved() const | LCD | inline |
| LCD() | LCD | inline |
| LCD(uint8_t pin9) | LCD | inline |
| LCD(uint8_t rs, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) | LCD | inline |
| noDisplay() | LCD | |
| ScreenSaverMode enum name | LCD | |
| screenSaverMode() const | LCD | inline |
| setBacklightPin(uint8_t pin) | LCD | |
| setScreenSaverMode(ScreenSaverMode mode) | LCD |
+ 1.8.6
+
+
+
diff --git a/html/classLCD.html b/html/classLCD.html
new file mode 100644
index 00000000..d69ac219
--- /dev/null
+++ b/html/classLCD.html
@@ -0,0 +1,600 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Enhanced library for Freetronics 16x2 LCD shields. + More...
+ +#include <LCD.h>
+
+ +Public Types | |
| enum | ScreenSaverMode { DisplayOff, +BacklightOff, +BacklightOnSelect + } |
| Screen saver mode that controls the display and back light. More... | |
+Public Member Functions | |
| LCD () | |
| Initialize the Freetronics LCD display with the default pin assignment. More... | |
| LCD (uint8_t pin9) | |
| Initialize the Freetronics LCD display for USBDroid. More... | |
| LCD (uint8_t rs, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) | |
| Initialize the Freetronics LCD display with custom pins. More... | |
| uint8_t | backlightPin () const |
| Returns the pin that is being used to control the back light. The default is 3. More... | |
| void | setBacklightPin (uint8_t pin) |
| Sets the back light pin for the LCD shield. More... | |
| void | display () |
| Turns on the display of text on the LCD and the back light. More... | |
| void | noDisplay () |
| Turns off the display of text on the LCD and the back light. More... | |
| ScreenSaverMode | screenSaverMode () const |
| Returns the current screen saver mode; default is DisplayOff. More... | |
| void | setScreenSaverMode (ScreenSaverMode mode) |
| Sets the current screen saver mode. More... | |
| void | enableScreenSaver (int timeoutSecs=10) |
| Enables the screen saver and causes it to activate after timeoutSecs of inactivity on the buttons. More... | |
| void | disableScreenSaver () |
| Disables the screen saver. More... | |
| bool | isScreenSaved () const |
| Returns true if the screen has been saved; false otherwise. More... | |
| int | getButton () |
| Gets the next button press, release, or idle event. More... | |
Enhanced library for Freetronics 16x2 LCD shields.
+This class extends the standard Arduino LiquidCrystal library with extra functionality for the Freetronics 16x2 LCD shield:
+http://www.freetronics.com/pages/16x2-lcd-shield-quickstart-guide
+The Freetronics LCD has an additional back light, which is turned on and off with the display() and noDisplay() functions. The user can also call enableScreenSaver() to cause the display and back light to automatically turn off after a specific timeout. The setScreenSaverMode() function controls which of the display and back light are disabled when the screen saver activates.
+The Freetronics LCD also has 5 push buttons for Left, Right, Up, Down, and Select, to assist with the creation of interactive sketches. The user can call getButton() to get the current button state. One of the following values may be returned:
+For convenience, all RELEASED button codes are the negation of their pressed counterparts. That is, LCD_BUTTON_LEFT_RELEASED == -LCD_BUTTON_LEFT. LCD_BUTTON_NONE is defined to be zero. Thus, you can check if a generic button has been pressed with button > 0 and if a generic button has been released with button < 0.
The DFRobot LCD Shield is almost identical to the Freetronics shield, except it uses pin 10 for the back light instead of pin 3. This can be specified in the application's setup() function:
The back light pin is configured for output the first time the application calls getButton().
+| enum LCD::ScreenSaverMode | +
Screen saver mode that controls the display and back light.
+
+
|
+ +inline | +
+
|
+ +inline | +
Initialize the Freetronics LCD display for USBDroid.
+On the USBDroid, the D9 pin is used for USB Host functionality. Either the USB Host's use of D9 must be reassigned to another pin, or the Freetronics LCD shield must be modified. The following Web page describes the modifications that are necessary: http://www.freetronics.com/pages/combining-the-lcd-keypad-shield-and-the-usbdroid
+If you choose to modify the LCD shield, then you must use this version of the constructor to initialize the shield, passing the alternative pin as the pin9 parameter. Using the recommended pin from the above Web page of A1, you would initialize the LCD as follows:
+
+
|
+ +inline | +
Initialize the Freetronics LCD display with custom pins.
+For compatibility with other shields, it may be desirable to rewire some of the pins entirely. This version of the constructor allows any pins to be reassigned from the defaults (which are rs = 8, enable = 9, d0 = 4, d1 = 5, d2 = 6, d3 = 7.)
+
+
|
+ +inline | +
Returns the pin that is being used to control the back light. The default is 3.
+| void LCD::disableScreenSaver | +( | +) | ++ |
Disables the screen saver.
+| void LCD::display | +( | +) | ++ |
Turns on the display of text on the LCD and the back light.
+If the screen saver is active, then calling this function will deactivate the screen saver and reset the timeout. Thus, this function can be called for force the screen to restore.
+ + + + +| void LCD::enableScreenSaver | +( | +int | +timeoutSecs = 10 | ) | ++ |
Enables the screen saver and causes it to activate after timeoutSecs of inactivity on the buttons.
+If timeoutSecs is less than or equal to zero, then the call is equivalent to calling disableScreenSaver().
+For the screen saver to work, the application must regularly call getButton() to fetch the LCD's button state even if no buttons are pressed.
+If the timeoutSecs parameter is not supplied, the default is 10 seconds.
+| int LCD::getButton | +( | +) | ++ |
Gets the next button press, release, or idle event.
+If no buttons are pressed, this function will return LCD_BUTTON_NONE.
+When a button is pressed, this function will return one of LCD_BUTTON_LEFT, LCD_BUTTON_RIGHT, LCD_BUTTON_UP, LCD_BUTTON_DOWN, or LCD_BUTTON_SELECT. While the button is pressed, this function will return LCD_BUTTON_NONE until the button is released. When the button is released, this function will return one of LCD_BUTTON_LEFT_RELEASED, LCD_BUTTON_RIGHT_RELEASED, LCD_BUTTON_UP_RELEAED, LCD_BUTTON_DOWN_RELEASED, or LCD_BUTTON_SELECT_RELEASED.
+If the screen saver is currently active, then it will be deactivated by this function whenever a button is pressed. If screenSaverMode() is DisplayOff, the function will "eat" the button press and return LCD_BUTTON_NONE. The scrren saver can also be deactivated under program control by calling display().
+This function debounces the button state automatically so there is no need for the caller to worry about spurious button events.
+
+
|
+ +inline | +
Returns true if the screen has been saved; false otherwise.
+| void LCD::noDisplay | +( | +) | ++ |
Turns off the display of text on the LCD and the back light.
+This function can be called to force the screen saver to activate.
+
+
|
+ +inline | +
Returns the current screen saver mode; default is DisplayOff.
+| void LCD::setBacklightPin | +( | +uint8_t | +pin | ) | ++ |
Sets the back light pin for the LCD shield.
+The DFRobot LCD Shield uses pin 10 for the back light instead of pin 3:
+The back light pin is configured for output the next time the application calls getButton().
+| void LCD::setScreenSaverMode | +( | +ScreenSaverMode | +mode | ) | ++ |
Sets the current screen saver mode.
+
+ 1.8.6
+
+
+
diff --git a/html/classLCD.png b/html/classLCD.png
new file mode 100644
index 00000000..b3dc8d1f
Binary files /dev/null and b/html/classLCD.png differ
diff --git a/html/classListField-members.html b/html/classListField-members.html
new file mode 100644
index 00000000..ee3dd34d
--- /dev/null
+++ b/html/classListField-members.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for ListField, including all inherited members.
+| dispatch(int event) | ListField | virtual |
| enterField(bool reverse) | ListField | virtual |
| exitField() | Field | virtual |
| Field(const String &label) | Field | explicit |
| Field(Form &form, const String &label) | Field | |
| form() const | Field | inline |
| isCurrent() const | Field | |
| items() const | ListField | inline |
| label() const | Field | inline |
| lcd() const | Field | inlineprotected |
| ListField(const String &label) | ListField | explicit |
| ListField(Form &form, const String &label, ListItems items, int value=0) | ListField | |
| setItems(ListItems items) | ListField | |
| setLabel(const String &label) | Field | |
| setValue(int value) | ListField | |
| updateCursor() | Field | protectedvirtual |
| value() const | ListField | inline |
| ~Field() | Field |
+ 1.8.6
+
+
+
diff --git a/html/classListField.html b/html/classListField.html
new file mode 100644
index 00000000..c6c8e59b
--- /dev/null
+++ b/html/classListField.html
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Field that manages selection from a static list of items. + More...
+ +#include <ListField.h>
+
+ +Public Member Functions | |
| ListField (const String &label) | |
| Constructs a new list field with a specific label. More... | |
| + | ListField (Form &form, const String &label, ListItems items, int value=0) |
| Constructs a new list field with a specific label, list of items, and value, and attaches it to a form. | |
| int | dispatch (int event) |
| Dispatches event via this field. More... | |
| void | enterField (bool reverse) |
| Enters the field due to form navigation. More... | |
| ListItems | items () const |
| Returns the array of items in this list. More... | |
| void | setItems (ListItems items) |
| Sets the array of items for this list. More... | |
| int | value () const |
| Returns the value of this list; i.e. the index within items() of the selected item. More... | |
| void | setValue (int value) |
| Sets the value of this list; i.e. the index within items() of the selected item. More... | |
Public Member Functions inherited from Field | |
| Field (const String &label) | |
| Constructs a new field with a specific label. More... | |
| + | Field (Form &form, const String &label) |
| Constructs a new field with a specific label and attaches it to a form. | |
| ~Field () | |
| Destroys this field and removes it from its owning Form. More... | |
| +Form * | form () const |
| Returns the Form that owns this field; null if not associated with a Form. | |
| virtual void | exitField () |
| Exits the field due to form navigation. More... | |
| const String & | label () const |
| Returns the label to display in the first line of this field. More... | |
| void | setLabel (const String &label) |
| Sets the label to display in the first line of this field. More... | |
| bool | isCurrent () const |
| Returns true if this field is the currently-displayed field in its owning form; false otherwise. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Field | |
| +LiquidCrystal * | lcd () const |
| Returns the LCD that this field is being drawn on. | |
| virtual void | updateCursor () |
| Updates the cursor position after the label has been drawn by setLabel(). More... | |
Field that manages selection from a static list of items.
+ListField is intended for selecting an element from a list of items. Each items is represented by a string within program memory, with the list terminated by null. For example:
+If there are only two items in the list, then BoolField can be used instead.
+ + +Definition at line 32 of file ListField.h.
+
+
|
+ +explicit | +
Constructs a new list field with a specific label.
+The field is initially not associated with a Form. The field can be added to a form later using Form::addField().
+Initially, items() is null and value() is -1.
+Definition at line 64 of file ListField.cpp.
+ +
+
|
+ +virtual | +
Dispatches event via this field.
+The event is usually obtained from LCD::getButton().
+Returns zero if the event has been handled and no further action is required.
+Returns FORM_CHANGED if the event has changed the value of this field in a manner that may require the application to take further action based on the new field value.
+Returns -1 if the event is not handled by this field, and should be handled by the Form itself (particularly for Left and Right buttons). The default implementation returns -1 for all events.
+Reimplemented from Field.
+ +Definition at line 87 of file ListField.cpp.
+ +
+
|
+ +virtual | +
Enters the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate to the field. If reverse is true, then navigation was due to the Left button being pressed.
+This function can assume that the display has been cleared and the cursor is positioned at (0, 0).
+The default implementation prints the label().
+Reimplemented from Field.
+ +Definition at line 105 of file ListField.cpp.
+ +
+
|
+ +inline | +
Returns the array of items in this list.
+Definition at line 41 of file ListField.h.
+ +| void ListField::setItems | +( | +ListItems | +items | ) | ++ |
Sets the array of items for this list.
+The items must be stored within program memory and terminated by null; for example:
+Definition at line 141 of file ListField.cpp.
+ +| void ListField::setValue | +( | +int | +value | ) | ++ |
+
|
+ +inline | +
Returns the value of this list; i.e. the index within items() of the selected item.
+Returns -1 if the items() array is empty or null.
+Definition at line 44 of file ListField.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classListField.png b/html/classListField.png
new file mode 100644
index 00000000..c2b62b4f
Binary files /dev/null and b/html/classListField.png differ
diff --git a/html/classMelody-members.html b/html/classMelody-members.html
new file mode 100644
index 00000000..1d167d55
--- /dev/null
+++ b/html/classMelody-members.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for Melody, including all inherited members.
+| isPlaying() const | Melody | inline |
| loopCount() const | Melody | inline |
| Melody(uint8_t pin) | Melody | |
| play() | Melody | |
| playOnce() | Melody | |
| run() | Melody | |
| setLoopCount(int count) | Melody | inline |
| setLoopDuration(unsigned long ms) | Melody | |
| setMelody(const int *notes, const uint8_t *lengths, unsigned int size) | Melody | |
| stop() | Melody |
+ 1.8.6
+
+
+
diff --git a/html/classMelody.html b/html/classMelody.html
new file mode 100644
index 00000000..88820fdc
--- /dev/null
+++ b/html/classMelody.html
@@ -0,0 +1,379 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Plays a melody on a digital output pin using tone(). + More...
+ +#include <Melody.h>
+Public Member Functions | |
| + | Melody (uint8_t pin) |
| Constructs a new melody playing object for pin. | |
| +bool | isPlaying () const |
| Returns true if the melody is currently playing; false if not. | |
| int | loopCount () const |
| Returns the number of times the melody should loop before stopping. More... | |
| void | setLoopCount (int count) |
| Sets the number of times the melody should loop to count. More... | |
| void | setLoopDuration (unsigned long ms) |
| Sets the maximum number of loops to last no longer than ms milliseconds. More... | |
| void | play () |
| Starts playing the melody, or restarts it if already playing. More... | |
| void | playOnce () |
| Plays the melody once and then stops. More... | |
| void | stop () |
| Stops playing the melody. More... | |
| void | setMelody (const int *notes, const uint8_t *lengths, unsigned int size) |
| Sets the melody to the size elements of notes and lengths. More... | |
| void | run () |
| Runs the melody control loop. More... | |
Plays a melody on a digital output pin using tone().
+The following example plays a simple tone three times on digital pin 8:
+The notes array contains the frequency of the notes to be played, with the special value NOTE_REST indicating a rest where no notes are playing. The lengths array contains the lengths of each of the notes; a value of 4 indicates a quarter note, a value of 8 indicates an eighth note, etc.
The run() method must be called from the application's main loop() method to ensure that the melody advances from one note to the next. It will not block the application while notes are playing.
The number of loops can also be specified with setLoopDuration() which sets a maximum amount of time that the melody will play before stopping. The following example plays the melody for no more than 60 seconds:
+
+
|
+ +inline | +
Returns the number of times the melody should loop before stopping.
+The default value is zero, indicating that the melody will loop indefinitely.
+| void Melody::play | +( | +) | ++ |
Starts playing the melody, or restarts it if already playing.
+Definition at line 146 of file Melody.cpp.
+ +| void Melody::playOnce | +( | +) | ++ |
Plays the melody once and then stops.
+ + +Definition at line 162 of file Melody.cpp.
+ +| void Melody::run | +( | +) | ++ |
Runs the melody control loop.
+This function must be called by the application's main loop() function to cause the melody to advance from note to note. It will not block the application while notes are playing.
Definition at line 214 of file Melody.cpp.
+ +
+
|
+ +inline | +
Sets the number of times the melody should loop to count.
+If count is zero, then the melody will loop indefinitely.
+| void Melody::setLoopDuration | +( | +unsigned long | +ms | ) | ++ |
Sets the maximum number of loops to last no longer than ms milliseconds.
+This function must be called after the melody is specified with setMelody() as it uses the length of the melody and ms to determine the loopCount().
+Definition at line 131 of file Melody.cpp.
+ +| void Melody::setMelody | +( | +const int * | +notes, | +
| + | + | const uint8_t * | +lengths, | +
| + | + | unsigned int | +size | +
| + | ) | ++ |
Sets the melody to the size elements of notes and lengths.
+If a melody is currently playing, then this function will stop playback.
+The notes array contains the frequency of the notes to be played, with the special value NOTE_REST indicating a rest where no notes are playing. The lengths array contains the lengths of each of the notes; a value of 4 indicates a quarter note, a value of 8 indicates an eighth note, etc.
Definition at line 199 of file Melody.cpp.
+ +| void Melody::stop | +( | +) | ++ |
+ 1.8.6
+
+
+
diff --git a/html/classNoiseSource-members.html b/html/classNoiseSource-members.html
new file mode 100644
index 00000000..e288f1e0
--- /dev/null
+++ b/html/classNoiseSource-members.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for NoiseSource, including all inherited members.
+| calibrating() const =0 | NoiseSource | pure virtual |
| NoiseSource() | NoiseSource | |
| output(const uint8_t *data, size_t len, unsigned int credit) | NoiseSource | protectedvirtual |
| stir()=0 | NoiseSource | pure virtual |
| ~NoiseSource() | NoiseSource | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classNoiseSource.html b/html/classNoiseSource.html
new file mode 100644
index 00000000..ab6006d8
--- /dev/null
+++ b/html/classNoiseSource.html
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Abstract base class for random noise sources. + More...
+ +#include <NoiseSource.h>
+
+ +Public Member Functions | |
| + | NoiseSource () |
| Constructs a new random noise source. | |
| +virtual | ~NoiseSource () |
| Destroys this random noise source. | |
| virtual bool | calibrating () const =0 |
| Determine if the noise source is still calibrating itself. More... | |
| virtual void | stir ()=0 |
| Stirs entropy from this noise source into the global random number pool. More... | |
+Protected Member Functions | |
| virtual void | output (const uint8_t *data, size_t len, unsigned int credit) |
| Called from subclasses to output noise to the global random number pool. More... | |
Abstract base class for random noise sources.
+Definition at line 29 of file NoiseSource.h.
+
+
|
+ +pure virtual | +
Determine if the noise source is still calibrating itself.
+Noise sources that require calibration start doing so at system startup and then switch over to random data generation once calibration is complete. Since no random data is being generated during calibration, the output from RNG.rand() may be predictable. Use RNG.available() to determine when sufficient entropy is available to generate good random values.
+It is possible that the noise source never exits calibration. This can happen if the input voltage is insufficient to trigger noise or if the noise source is not connected. Noise sources may also periodically recalibrate themselves.
+Implemented in RingOscillatorNoiseSource, and TransistorNoiseSource.
+ +
+
|
+ +protectedvirtual | +
Called from subclasses to output noise to the global random number pool.
+| data | Points to the noise data. |
| len | Number of bytes of noise data. |
| credit | The number of bits of entropy to credit for the data. Note that this is bits, not bytes. |
The default implementation of this function calls RNG.stir() to add the entropy from this noise source to the global random number pool.
+This function may be overridden by subclasses to capture the raw output from the noise source before it is mixed into the pool to allow the raw data to be analyzed for randomness.
+ +Definition at line 102 of file NoiseSource.cpp.
+ +
+
|
+ +pure virtual | +
Stirs entropy from this noise source into the global random number pool.
+This function should call output() to add the entropy from this noise source to the global random number pool.
+The noise source should batch up the entropy data, providing between 16 and 48 bytes of data each time. If the noise source does not have sufficient entropy data at the moment, it should return without stiring the current data in.
+Implemented in RingOscillatorNoiseSource, and TransistorNoiseSource.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classNoiseSource.png b/html/classNoiseSource.png
new file mode 100644
index 00000000..ece76a1f
Binary files /dev/null and b/html/classNoiseSource.png differ
diff --git a/html/classOFB-members.html b/html/classOFB-members.html
new file mode 100644
index 00000000..ded87fd1
--- /dev/null
+++ b/html/classOFB-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for OFB< T >, including all inherited members.
+| Cipher() | Cipher | |
| clear() | OFBCommon | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | OFBCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | OFBCommon | virtual |
| ivSize() const | OFBCommon | virtual |
| keySize() const | OFBCommon | virtual |
| OFB() | OFB< T > | inline |
| OFBCommon() | OFBCommon | protected |
| setBlockCipher(BlockCipher *cipher) | OFBCommon | inlineprotected |
| setIV(const uint8_t *iv, size_t len) | OFBCommon | virtual |
| setKey(const uint8_t *key, size_t len) | OFBCommon | virtual |
| ~Cipher() | Cipher | virtual |
| ~OFBCommon() | OFBCommon | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classOFB.html b/html/classOFB.html
new file mode 100644
index 00000000..7a7ffba4
--- /dev/null
+++ b/html/classOFB.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Implementation of the Output Feedback (OFB) mode for 128-bit block ciphers. + More...
+ +#include <OFB.h>
+
+ +Public Member Functions | |
| + | OFB () |
| Constructs a new OFB object for the block cipher T. | |
Public Member Functions inherited from OFBCommon | |
| +virtual | ~OFBCommon () |
| Destroys this cipher object after clearing sensitive information. | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from OFBCommon | |
| OFBCommon () | |
| Constructs a new cipher in OFB mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this OFB object. More... | |
Implementation of the Output Feedback (OFB) mode for 128-bit block ciphers.
+The template parameter T must be a concrete subclass of BlockCipher indicating the specific block cipher to use. T must have a block size of 16 bytes (128 bits).
+For example, the following creates a OFB object using AES192 as the underlying cipher:
+Decryption is identical to encryption for OFB mode.
+The size of the ciphertext will always be the same as the size of the plaintext.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classOFB.png b/html/classOFB.png
new file mode 100644
index 00000000..4bf8fac5
Binary files /dev/null and b/html/classOFB.png differ
diff --git a/html/classOFBCommon-members.html b/html/classOFBCommon-members.html
new file mode 100644
index 00000000..f6cc1081
--- /dev/null
+++ b/html/classOFBCommon-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for OFBCommon, including all inherited members.
+| Cipher() | Cipher | |
| clear() | OFBCommon | virtual |
| decrypt(uint8_t *output, const uint8_t *input, size_t len) | OFBCommon | virtual |
| encrypt(uint8_t *output, const uint8_t *input, size_t len) | OFBCommon | virtual |
| ivSize() const | OFBCommon | virtual |
| keySize() const | OFBCommon | virtual |
| OFBCommon() | OFBCommon | protected |
| setBlockCipher(BlockCipher *cipher) | OFBCommon | inlineprotected |
| setIV(const uint8_t *iv, size_t len) | OFBCommon | virtual |
| setKey(const uint8_t *key, size_t len) | OFBCommon | virtual |
| ~Cipher() | Cipher | virtual |
| ~OFBCommon() | OFBCommon | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classOFBCommon.html b/html/classOFBCommon.html
new file mode 100644
index 00000000..12ae4c99
--- /dev/null
+++ b/html/classOFBCommon.html
@@ -0,0 +1,542 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Concrete base class to assist with implementing OFB for 128-bit block ciphers. + More...
+ +#include <OFB.h>
+
+ +Public Member Functions | |
| +virtual | ~OFBCommon () |
| Destroys this cipher object after clearing sensitive information. | |
| size_t | keySize () const |
| Default size of the key for this cipher, in bytes. More... | |
| size_t | ivSize () const |
| Size of the initialization vector for this cipher, in bytes. More... | |
| bool | setKey (const uint8_t *key, size_t len) |
| Sets the key to use for future encryption and decryption operations. More... | |
| bool | setIV (const uint8_t *iv, size_t len) |
| Sets the initialization vector to use for future encryption and decryption operations. More... | |
| void | encrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Encrypts an input buffer and writes the ciphertext to an output buffer. More... | |
| void | decrypt (uint8_t *output, const uint8_t *input, size_t len) |
| Decrypts an input buffer and writes the plaintext to an output buffer. More... | |
| void | clear () |
| Clears all security-sensitive state from this cipher. More... | |
Public Member Functions inherited from Cipher | |
| + | Cipher () |
| Constructs a new cipher object. | |
| virtual | ~Cipher () |
| Destroys this cipher object. More... | |
+Protected Member Functions | |
| OFBCommon () | |
| Constructs a new cipher in OFB mode. More... | |
| void | setBlockCipher (BlockCipher *cipher) |
| Sets the block cipher to use for this OFB object. More... | |
Concrete base class to assist with implementing OFB for 128-bit block ciphers.
+Reference: http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
+
+
|
+ +protected | +
Constructs a new cipher in OFB mode.
+This constructor should be followed by a call to setBlockCipher().
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Decrypts an input buffer and writes the plaintext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to decrypt. |
The decrypt() function can be called multiple times with different regions of the ciphertext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Encrypts an input buffer and writes the ciphertext to an output buffer.
+| output | The output buffer to write to, which may be the same buffer as input. The output buffer must have at least as many bytes as the input buffer. |
| input | The input buffer to read from. |
| len | The number of bytes to encrypt. |
The encrypt() function can be called multiple times with different regions of the plaintext data.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
+
|
+ +inlineprotected | +
+
|
+ +virtual | +
Sets the initialization vector to use for future encryption and decryption operations.
+| iv | The initialization vector to use. |
| len | The length of the initialization vector in bytes. |
Initialization vectors should be set before the first call to encrypt() or decrypt() after a setKey() call. If the initialization vector is changed after encryption or decryption begins, then the behaviour is undefined.
+Implements Cipher.
+ + + +
+
|
+ +virtual | +
Sets the key to use for future encryption and decryption operations.
+| key | The key to use. |
| len | The length of the key in bytes. |
Use clear() or the destructor to remove the key and any other sensitive data from the object once encryption or decryption is complete.
+Calling setKey() resets the cipher. Any temporary data that was being retained for encrypting partial blocks will be abandoned.
+ + +Implements Cipher.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classOFBCommon.png b/html/classOFBCommon.png
new file mode 100644
index 00000000..87536b58
Binary files /dev/null and b/html/classOFBCommon.png differ
diff --git a/html/classRNGClass-members.html b/html/classRNGClass-members.html
new file mode 100644
index 00000000..1ca6ed50
--- /dev/null
+++ b/html/classRNGClass-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for RNGClass, including all inherited members.
+| addNoiseSource(NoiseSource &source) | RNGClass | |
| available(size_t len) const | RNGClass | |
| begin(const char *tag, int eepromAddress) | RNGClass | |
| destroy() | RNGClass | |
| loop() | RNGClass | |
| rand(uint8_t *data, size_t len) | RNGClass | |
| RNGClass() | RNGClass | |
| save() | RNGClass | |
| SEED_SIZE | RNGClass | static |
| setAutoSaveTime(uint16_t minutes) | RNGClass | |
| stir(const uint8_t *data, size_t len, unsigned int credit=0) | RNGClass | |
| ~RNGClass() | RNGClass |
+ 1.8.6
+
+
+
diff --git a/html/classRNGClass.html b/html/classRNGClass.html
new file mode 100644
index 00000000..35efd6a6
--- /dev/null
+++ b/html/classRNGClass.html
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Pseudo random number generator suitable for cryptography. + More...
+ +#include <RNG.h>
+Public Member Functions | |
| RNGClass () | |
| Constructs a new random number generator instance. More... | |
| + | ~RNGClass () |
| Destroys this random number generator instance. | |
| void | begin (const char *tag, int eepromAddress) |
| Initializes the random number generator. More... | |
| void | addNoiseSource (NoiseSource &source) |
| Adds a noise source to the random number generator. More... | |
| void | setAutoSaveTime (uint16_t minutes) |
| Sets the amount of time between automatic seed saves. More... | |
| void | rand (uint8_t *data, size_t len) |
| Generates random bytes into a caller-supplied buffer. More... | |
| bool | available (size_t len) const |
| Determine if there is sufficient entropy available for a specific request size. More... | |
| void | stir (const uint8_t *data, size_t len, unsigned int credit=0) |
| Stirs additional entropy data into the random pool. More... | |
| void | save () |
| Saves the random seed to EEPROM. More... | |
| void | loop () |
| Run periodic housekeeping tasks on the random number generator. More... | |
| void | destroy () |
| Destroys the data in the random number pool and the saved seed in EEPROM. More... | |
+Static Public Attributes | |
| +static const int | SEED_SIZE = 49 |
| Size of a saved random number seed in EEPROM space. | |
Pseudo random number generator suitable for cryptography.
+Random number generators must be seeded properly before they can be used or an adversary may be able to predict the random output. Seed data may be:
+The following example demonstrates how to initialise the random number generator:
+The application should regularly call loop() to stir in new data from the registered noise sources and to periodically save the seed:
+The loop() function will automatically save the random number seed on a regular basis. By default the seed is saved every hour but this can be changed using setAutoSaveTime().
+Keep in mind that saving too often may cause the EEPROM to wear out quicker. It is wise to limit saving to once an hour or once a day depending upon how long you intend to field the device before replacing it. For example, an EEPROM rated for 100k erase/write cycles will last about 69 days saving once a minute or 11 years saving once an hour.
+The application can still elect to call save() at any time if wants. For example, if the application can detect power loss or shutdown conditions programmatically, then it may make sense to force a save() of the seed upon shutdown.
+| RNGClass::RNGClass | +( | +) | ++ |
| void RNGClass::addNoiseSource | +( | +NoiseSource & | +source | ) | ++ |
Adds a noise source to the random number generator.
+| source | The noise source to add, which will be polled regularly by loop() to accumulate noise-based entropy from the source. |
RNG supports a maximum of four noise sources. If the application needs more than that then the application must poll the noise sources itself by calling NoiseSource::stir() directly.
+ + + + +| bool RNGClass::available | +( | +size_t | +len | ) | +const | +
Determine if there is sufficient entropy available for a specific request size.
+| len | The number of bytes of random data that will be requested via a call to rand(). |
This function can be used by the application to wait for sufficient entropy to become available from the system's noise sources before generating important values. For example:
+If len is larger than the maximum number of entropy credits supported by the random number pool (384 bits, 48 bytes), then the maximum will be used instead. For example, asking if 512 bits (64 bytes) are available will return true if in reality only 384 bits are available. If this is a problem for the application's security requirements, then large requests for random data should be broken up into smaller chunks with the application waiting for the entropy pool to refill between chunks.
+| void RNGClass::begin | +( | +const char * | +tag, | +
| + | + | int | +eepromAddress | +
| + | ) | ++ |
Initializes the random number generator.
+| tag | A string that is stirred into the random pool at startup; usually this should be a value that is unique to the application and version such as "MyApp 1.0" so that different applications do not generate the same sequence of values upon first boot. |
| eepromAddress | The EEPROM address to load the previously saved seed from and to save new seeds when save() is called. There must be at least SEED_SIZE (49) bytes of EEPROM space available at the address. |
This function should be followed by calls to addNoiseSource() to register the application's noise sources.
+| void RNGClass::destroy | +( | +) | ++ |
Destroys the data in the random number pool and the saved seed in EEPROM.
+This function attempts to throw away any data that could theoretically be used to predict previous and future outputs of the random number generator if the device is captured, sold, or otherwise compromised.
+After this function is called, begin() must be called again to re-initialize the random number generator.
+| void RNGClass::loop | +( | +) | ++ |
| void RNGClass::rand | +( | +uint8_t * | +data, | +
| + | + | size_t | +len | +
| + | ) | ++ |
Generates random bytes into a caller-supplied buffer.
+| data | Points to the buffer to fill with random bytes. |
| len | Number of bytes to generate. |
Calling this function will decrease the amount of entropy in the random number pool by len * 8 bits. If there isn't enough entropy, then this function will still return len bytes of random data generated from what entropy it does have.
+If the application requires a specific amount of entropy before generating important values, the available() function can be polled to determine when sufficient entropy is available.
+| void RNGClass::save | +( | +) | ++ |
Saves the random seed to EEPROM.
+During system startup, noise sources typically won't have accumulated much entropy. But startup is usually the time when the system most needs to generate random data for session keys, IV's, and the like.
+The purpose of this function is to pass some of the accumulated entropy from one session to the next after a loss of power. Thus, once the system has been running for a while it will get progressively better at generating random values and the accumulated entropy will not be completely lost.
+Normally it isn't necessary to call save() directly. The loop() function will automatically save the seed on a periodic basis (default of 1 hour).
+The seed that is saved is generated in such a way that it cannot be used to predict random values that were generated previously or subsequently in the current session. So a compromise of the EEPROM contents of a captured device should not result in compromise of random values that have already been generated. However, if power is lost and the system restarted, then there will be a short period of time where the random state will be predictable from the seed. For this reason it is very important to stir() in new noise data at startup.
+ + + + +| void RNGClass::setAutoSaveTime | +( | +uint16_t | +minutes | ) | ++ |
Sets the amount of time between automatic seed saves.
+| minutes | The number of minutes between automatic seed saves. |
The default time between automatic seed saves is 1 hour.
+This function is intended to help with EEPROM wear by slowing down how often seed data is saved as noise is stirred into the random pool. The exact period to use depends upon how long you intend to field the device before replacing it. For example, an EEPROM rated for 100k erase/write cycles will last about 69 days saving once a minute or 11 years saving once an hour.
+ + + + +| void RNGClass::stir | +( | +const uint8_t * | +data, | +
| + | + | size_t | +len, | +
| + | + | unsigned int | +credit = 0 |
+
| + | ) | ++ |
Stirs additional entropy data into the random pool.
+| data | Points to the additional data to be stirred in. |
| len | Number of bytes to be stirred in. |
| credit | The number of bits of entropy to credit for the data that is stirred in. Note that this is bits, not bytes. |
The maximum credit allowed is len * 8 bits, indicating that every bit in the input data is good and random. Practical noise sources are rarely that good, so credit will usually be smaller. For example, to credit 2 bits of entropy per byte, the function would be called as follows:
+If credit is zero, then the data will be stirred in but no entropy credit is given. This is useful for static values like serial numbers and MAC addresses that are different between devices but highly predictable.
+
+ 1.8.6
+
+
+
diff --git a/html/classRTC-members.html b/html/classRTC-members.html
new file mode 100644
index 00000000..b42d5b81
--- /dev/null
+++ b/html/classRTC-members.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for RTC, including all inherited members.
+| adjustDays(RTCDate *date, uint8_t flags) | RTC | static |
| adjustMonths(RTCDate *date, uint8_t flags) | RTC | static |
| adjustYears(RTCDate *date, uint8_t flags) | RTC | static |
| ALARM_COUNT | RTC | static |
| byteCount() const | RTC | virtual |
| dayOfWeek(const RTCDate *date) | RTC | static |
| DayOfWeek enum name | RTC | |
| DECREMENT | RTC | static |
| Friday enum value (defined in RTC) | RTC | |
| hasUpdates() | RTC | virtual |
| INCREMENT | RTC | static |
| Monday enum value (defined in RTC) | RTC | |
| NO_TEMPERATURE | RTC | static |
| readAlarm(uint8_t alarmNum, RTCAlarm *value) | RTC | virtual |
| readByte(uint8_t offset) | RTC | virtual |
| readDate(RTCDate *value) | RTC | virtual |
| readTemperature() | RTC | virtual |
| readTime(RTCTime *value) | RTC | virtual |
| RTC() | RTC | |
| Saturday enum value (defined in RTC) | RTC | |
| Sunday enum value (defined in RTC) | RTC | |
| Thursday enum value (defined in RTC) | RTC | |
| Tuesday enum value (defined in RTC) | RTC | |
| Wednesday enum value (defined in RTC) | RTC | |
| WRAP | RTC | static |
| writeAlarm(uint8_t alarmNum, const RTCAlarm *value) | RTC | virtual |
| writeByte(uint8_t offset, uint8_t value) | RTC | virtual |
| writeDate(const RTCDate *value) | RTC | virtual |
| writeTime(const RTCTime *value) | RTC | virtual |
| ~RTC() (defined in RTC) | RTC |
+ 1.8.6
+
+
+
diff --git a/html/classRTC.html b/html/classRTC.html
new file mode 100644
index 00000000..45c0e9f0
--- /dev/null
+++ b/html/classRTC.html
@@ -0,0 +1,787 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Base class for realtime clock handlers. + More...
+ +#include <RTC.h>
+
+ +Public Types | |
| enum | DayOfWeek { + Monday = 1, +Tuesday, +Wednesday, +Thursday, + + Friday, +Saturday, +Sunday + + } |
| Day of the week corresponding to a date. More... | |
+Public Member Functions | |
| RTC () | |
| Constructs a new realtime clock handler. More... | |
| virtual bool | hasUpdates () |
| Returns true if the realtime clock has updated since the last call to this function. More... | |
| virtual void | readTime (RTCTime *value) |
| Reads the current time from the realtime clock into value. More... | |
| virtual void | readDate (RTCDate *value) |
| Reads the current date from the realtime clock into value. More... | |
| virtual void | writeTime (const RTCTime *value) |
| Updates the time in the realtime clock to match value. More... | |
| virtual void | writeDate (const RTCDate *value) |
| Updates the date in the realtime clock to match value. More... | |
| virtual void | readAlarm (uint8_t alarmNum, RTCAlarm *value) |
| Reads the details of the alarm with index alarmNum into value. More... | |
| virtual void | writeAlarm (uint8_t alarmNum, const RTCAlarm *value) |
| Updates the details of the alarm with index alarmNum from value. More... | |
| virtual int | byteCount () const |
| Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms. More... | |
| virtual uint8_t | readByte (uint8_t offset) |
| Reads the byte at offset within the realtime clock's non-volatile memory. More... | |
| virtual void | writeByte (uint8_t offset, uint8_t value) |
| Writes value to offset within the realtime clock's non-volatile memory. More... | |
| virtual int | readTemperature () |
| Reads the value of the temperature sensor and returns the temperature in quarters of a degree celcius. More... | |
+Static Public Member Functions | |
| static void | adjustDays (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one day according to flags. More... | |
| static void | adjustMonths (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one month according to flags. More... | |
| static void | adjustYears (RTCDate *date, uint8_t flags) |
| Adjusts date up or down one year according to flags. More... | |
| static DayOfWeek | dayOfWeek (const RTCDate *date) |
| Returns the day of the week corresponding to date. More... | |
+Static Public Attributes | |
| +static const uint8_t | ALARM_COUNT = 4 |
| Number of alarms that are supported by RTC::readAlarm() and RTC::writeAlarm(). | |
| +static const int | NO_TEMPERATURE = 32767 |
| Value that is returned from readTemperature() if the realtime clock chip cannot determine the temperature. | |
| +static const uint8_t | INCREMENT = 0x0000 |
| Increment the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | DECREMENT = 0x0001 |
| Decrement the day, month, or year in a call to adjustDays(), adjustMonths(), or adjustYears(). | |
| +static const uint8_t | WRAP = 0x0002 |
| Wrap around to the beginning of the current month/year rather than advance to the next one. | |
Base class for realtime clock handlers.
+This class simplifies the process of reading and writing the time and date information in a realtime clock chip. The class also provides support for reading and writing information about alarms and other clock settings.
+It is intended that the application will instantiate a subclass of this class to handle the specific realtime clock chip in the system. The default implementation in RTC simulates a clock based on the value of millis(), with alarms and clock settings stored in main memory.
+Because the common DS1307 and DS3232 realtime clock chips use a 2-digit year, this class is also limited to dates between 2000 and 2099 inclusive.
+ + + +| enum RTC::DayOfWeek | +
Day of the week corresponding to a date.
+| RTC::RTC | +( | +) | ++ |
Constructs a new realtime clock handler.
+
+
|
+ +static | +
Adjusts date up or down one day according to flags.
+
+
|
+ +static | +
Adjusts date up or down one month according to flags.
+
+
|
+ +static | +
Adjusts date up or down one year according to flags.
+
+
|
+ +virtual | +
Returns the number of bytes of non-volatile memory that can be used for storage of arbitrary settings, excluding storage used by alarms.
+
+
|
+ +static | +
+
|
+ +virtual | +
+
|
+ +virtual | +
Reads the details of the alarm with index alarmNum into value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+
+
|
+ +virtual | +
Reads the byte at offset within the realtime clock's non-volatile memory.
+The offset parameter must be between 0 and byteCount() - 1.
+
+
|
+ +virtual | +
Reads the current date from the realtime clock into value.
+The time should be read first with readTime() as the default implementation only advances the date when the time is read and it crosses midnight.
+
+
|
+ +virtual | +
+
|
+ +virtual | +
Reads the current time from the realtime clock into value.
+
+
|
+ +virtual | +
Updates the details of the alarm with index alarmNum from value.
+The alarmNum parameter must be between 0 and ALARM_COUNT - 1.
+Alarm details are stored at the end of the realtime clock's non-volatile memory.
+
+
|
+ +virtual | +
Writes value to offset within the realtime clock's non-volatile memory.
+The offset parameter must be between 0 and byteCount() - 1.
+
+
|
+ +virtual | +
Updates the date in the realtime clock to match value.
+
+
|
+ +virtual | +
Updates the time in the realtime clock to match value.
+
+ 1.8.6
+
+
+
diff --git a/html/classRTC.png b/html/classRTC.png
new file mode 100644
index 00000000..d55acc64
Binary files /dev/null and b/html/classRTC.png differ
diff --git a/html/classRTCAlarm-members.html b/html/classRTCAlarm-members.html
new file mode 100644
index 00000000..808ba527
--- /dev/null
+++ b/html/classRTCAlarm-members.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for RTCAlarm, including all inherited members.
+| day | RTCAlarm | |
| dow | RTCAlarm | |
| flags | RTCAlarm | |
| hour | RTCAlarm | |
| minute | RTCAlarm | |
| second | RTCAlarm |
+ 1.8.6
+
+
+
diff --git a/html/classRTCDate-members.html b/html/classRTCDate-members.html
new file mode 100644
index 00000000..112b849f
--- /dev/null
+++ b/html/classRTCDate-members.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for RTCDate, including all inherited members.
+| day | RTCDate | |
| month | RTCDate | |
| year | RTCDate |
+ 1.8.6
+
+
+
diff --git a/html/classRTCTime-members.html b/html/classRTCTime-members.html
new file mode 100644
index 00000000..5d20166d
--- /dev/null
+++ b/html/classRTCTime-members.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for RTCTime, including all inherited members.
+| hour | RTCTime | |
| minute | RTCTime | |
| second | RTCTime |
+ 1.8.6
+
+
+
diff --git a/html/classRingOscillatorNoiseSource-members.html b/html/classRingOscillatorNoiseSource-members.html
new file mode 100644
index 00000000..053ab272
--- /dev/null
+++ b/html/classRingOscillatorNoiseSource-members.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for RingOscillatorNoiseSource, including all inherited members.
+| calibrating() const | RingOscillatorNoiseSource | virtual |
| NoiseSource() | NoiseSource | |
| output(const uint8_t *data, size_t len, unsigned int credit) | NoiseSource | protectedvirtual |
| RingOscillatorNoiseSource() (defined in RingOscillatorNoiseSource) | RingOscillatorNoiseSource | |
| stir() | RingOscillatorNoiseSource | virtual |
| ~NoiseSource() | NoiseSource | virtual |
| ~RingOscillatorNoiseSource() (defined in RingOscillatorNoiseSource) | RingOscillatorNoiseSource | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classRingOscillatorNoiseSource.html b/html/classRingOscillatorNoiseSource.html
new file mode 100644
index 00000000..65566412
--- /dev/null
+++ b/html/classRingOscillatorNoiseSource.html
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Processes the signal from a ring oscillator based noise source. + More...
+ +#include <RingOscillatorNoiseSource.h>
+
+ +Public Member Functions | |
| bool | calibrating () const |
| Determine if the noise source is still calibrating itself. More... | |
| void | stir () |
| Stirs entropy from this noise source into the global random number pool. More... | |
Public Member Functions inherited from NoiseSource | |
| + | NoiseSource () |
| Constructs a new random noise source. | |
| +virtual | ~NoiseSource () |
| Destroys this random noise source. | |
+Additional Inherited Members | |
Protected Member Functions inherited from NoiseSource | |
| virtual void | output (const uint8_t *data, size_t len, unsigned int credit) |
| Called from subclasses to output noise to the global random number pool. More... | |
Processes the signal from a ring oscillator based noise source.
+This class processes input from a ring oscillator noise source, such as that described here.
+The noise is read from an input capture pin on the Arduino and stirred into the random number pool on a regular basis. The following pins are used on different Arduino variants:
+| Variant | Arduino Pin / AVR Pin | Timer |
| Arduino Uno | D8 / PB0 | Timer 1 |
| Arduino Leonardo | D4 / PD4 | Timer 1 |
| Arduino Mega or Mega 2560 | D49 / PL0 | Timer 4 |
If your board is not pin-compatible with one of the above, then the source for the RingOscillatorNoiseSource class will need to be modified to use a different pin/timer combination. Also, when the timer is in use by this class it cannot be used for other application tasks.
+The example below shows how to initialize a ring oscillator based noise source and use it with RNG:
+For more information, see the documentation for RNG.
+Definition at line 29 of file RingOscillatorNoiseSource.h.
+
+
|
+ +virtual | +
Determine if the noise source is still calibrating itself.
+Noise sources that require calibration start doing so at system startup and then switch over to random data generation once calibration is complete. Since no random data is being generated during calibration, the output from RNG.rand() may be predictable. Use RNG.available() to determine when sufficient entropy is available to generate good random values.
+It is possible that the noise source never exits calibration. This can happen if the input voltage is insufficient to trigger noise or if the noise source is not connected. Noise sources may also periodically recalibrate themselves.
+Implements NoiseSource.
+ +Definition at line 178 of file RingOscillatorNoiseSource.cpp.
+ +
+
|
+ +virtual | +
Stirs entropy from this noise source into the global random number pool.
+This function should call output() to add the entropy from this noise source to the global random number pool.
+The noise source should batch up the entropy data, providing between 16 and 48 bytes of data each time. If the noise source does not have sufficient entropy data at the moment, it should return without stiring the current data in.
+Implements NoiseSource.
+ +Definition at line 201 of file RingOscillatorNoiseSource.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classRingOscillatorNoiseSource.png b/html/classRingOscillatorNoiseSource.png
new file mode 100644
index 00000000..138a6eb9
Binary files /dev/null and b/html/classRingOscillatorNoiseSource.png differ
diff --git a/html/classSHA1-members.html b/html/classSHA1-members.html
new file mode 100644
index 00000000..46b9245c
--- /dev/null
+++ b/html/classSHA1-members.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for SHA1, including all inherited members.
+| blockSize() const | SHA1 | virtual |
| chunkSize (defined in SHA1) | SHA1 | |
| clear() | SHA1 | virtual |
| finalize(void *hash, size_t len) | SHA1 | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | SHA1 | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| h (defined in SHA1) | SHA1 | |
| Hash() | Hash | |
| hashSize() const | SHA1 | virtual |
| length (defined in SHA1) | SHA1 | |
| reset() | SHA1 | virtual |
| resetHMAC(const void *key, size_t keyLen) | SHA1 | virtual |
| SHA1() | SHA1 | |
| update(const void *data, size_t len) | SHA1 | virtual |
| w (defined in SHA1) | SHA1 | |
| ~Hash() | Hash | virtual |
| ~SHA1() | SHA1 | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classSHA1.html b/html/classSHA1.html
new file mode 100644
index 00000000..7a95905f
--- /dev/null
+++ b/html/classSHA1.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
SHA-1 hash algorithm. + More...
+ +#include <SHA1.h>
+
+ +Public Member Functions | |
| + | SHA1 () |
| Constructs a SHA-1 hash object. | |
| +virtual | ~SHA1 () |
| Destroys this SHA-1 hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
SHA-1 hash algorithm.
+Reference: http://en.wikipedia.org/wiki/SHA-1
+ + + +
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ + + +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classSHA1.png b/html/classSHA1.png
new file mode 100644
index 00000000..c68d93bd
Binary files /dev/null and b/html/classSHA1.png differ
diff --git a/html/classSHA256-members.html b/html/classSHA256-members.html
new file mode 100644
index 00000000..b5f26c13
--- /dev/null
+++ b/html/classSHA256-members.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for SHA256, including all inherited members.
+| blockSize() const | SHA256 | virtual |
| chunkSize (defined in SHA256) | SHA256 | |
| clear() | SHA256 | virtual |
| finalize(void *hash, size_t len) | SHA256 | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | SHA256 | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| h (defined in SHA256) | SHA256 | |
| Hash() | Hash | |
| hashSize() const | SHA256 | virtual |
| length (defined in SHA256) | SHA256 | |
| reset() | SHA256 | virtual |
| resetHMAC(const void *key, size_t keyLen) | SHA256 | virtual |
| SHA256() | SHA256 | |
| update(const void *data, size_t len) | SHA256 | virtual |
| w (defined in SHA256) | SHA256 | |
| ~Hash() | Hash | virtual |
| ~SHA256() | SHA256 | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classSHA256.html b/html/classSHA256.html
new file mode 100644
index 00000000..e21d2bca
--- /dev/null
+++ b/html/classSHA256.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
SHA-256 hash algorithm. + More...
+ +#include <SHA256.h>
+
+ +Public Member Functions | |
| + | SHA256 () |
| Constructs a SHA-256 hash object. | |
| +virtual | ~SHA256 () |
| Destroys this SHA-256 hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
SHA-256 hash algorithm.
+Reference: http://en.wikipedia.org/wiki/SHA-2
+ + + +
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ +Definition at line 61 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 133 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 102 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ +Definition at line 146 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ +Definition at line 56 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 66 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ +Definition at line 139 of file SHA256.cpp.
+ +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 80 of file SHA256.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classSHA256.png b/html/classSHA256.png
new file mode 100644
index 00000000..b3599afe
Binary files /dev/null and b/html/classSHA256.png differ
diff --git a/html/classSHA3__256-members.html b/html/classSHA3__256-members.html
new file mode 100644
index 00000000..c7c01fd5
--- /dev/null
+++ b/html/classSHA3__256-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for SHA3_256, including all inherited members.
+| blockSize() const | SHA3_256 | virtual |
| clear() | SHA3_256 | virtual |
| finalize(void *hash, size_t len) | SHA3_256 | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | SHA3_256 | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| Hash() | Hash | |
| hashSize() const | SHA3_256 | virtual |
| reset() | SHA3_256 | virtual |
| resetHMAC(const void *key, size_t keyLen) | SHA3_256 | virtual |
| SHA3_256() | SHA3_256 | |
| update(const void *data, size_t len) | SHA3_256 | virtual |
| ~Hash() | Hash | virtual |
| ~SHA3_256() | SHA3_256 | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classSHA3__256.html b/html/classSHA3__256.html
new file mode 100644
index 00000000..af0eaa14
--- /dev/null
+++ b/html/classSHA3__256.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
SHA3-256 hash algorithm. + More...
+ +#include <SHA3.h>
+
+ +Public Member Functions | |
| + | SHA3_256 () |
| Constructs a new SHA3-256 hash object. | |
| +virtual | ~SHA3_256 () |
| Destroys this hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ + + +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classSHA3__256.png b/html/classSHA3__256.png
new file mode 100644
index 00000000..4949a56d
Binary files /dev/null and b/html/classSHA3__256.png differ
diff --git a/html/classSHA3__512-members.html b/html/classSHA3__512-members.html
new file mode 100644
index 00000000..6250621d
--- /dev/null
+++ b/html/classSHA3__512-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for SHA3_512, including all inherited members.
+| blockSize() const | SHA3_512 | virtual |
| clear() | SHA3_512 | virtual |
| finalize(void *hash, size_t len) | SHA3_512 | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | SHA3_512 | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| Hash() | Hash | |
| hashSize() const | SHA3_512 | virtual |
| reset() | SHA3_512 | virtual |
| resetHMAC(const void *key, size_t keyLen) | SHA3_512 | virtual |
| SHA3_512() | SHA3_512 | |
| update(const void *data, size_t len) | SHA3_512 | virtual |
| ~Hash() | Hash | virtual |
| ~SHA3_512() | SHA3_512 | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classSHA3__512.html b/html/classSHA3__512.html
new file mode 100644
index 00000000..92a39cda
--- /dev/null
+++ b/html/classSHA3__512.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
SHA3-512 hash algorithm. + More...
+ +#include <SHA3.h>
+
+ +Public Member Functions | |
| + | SHA3_512 () |
| Constructs a new SHA3-512 hash object. | |
| +virtual | ~SHA3_512 () |
| Destroys this hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ + + +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ + + +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/classSHA3__512.png b/html/classSHA3__512.png
new file mode 100644
index 00000000..be2ace43
Binary files /dev/null and b/html/classSHA3__512.png differ
diff --git a/html/classSHA512-members.html b/html/classSHA512-members.html
new file mode 100644
index 00000000..d89fa586
--- /dev/null
+++ b/html/classSHA512-members.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for SHA512, including all inherited members.
+| blockSize() const | SHA512 | virtual |
| chunkSize (defined in SHA512) | SHA512 | |
| clear() | SHA512 | virtual |
| finalize(void *hash, size_t len) | SHA512 | virtual |
| finalizeHMAC(const void *key, size_t keyLen, void *hash, size_t hashLen) | SHA512 | virtual |
| formatHMACKey(void *block, const void *key, size_t len, uint8_t pad) | Hash | protected |
| h (defined in SHA512) | SHA512 | |
| Hash() | Hash | |
| hashSize() const | SHA512 | virtual |
| lengthHigh (defined in SHA512) | SHA512 | |
| lengthLow (defined in SHA512) | SHA512 | |
| reset() | SHA512 | virtual |
| resetHMAC(const void *key, size_t keyLen) | SHA512 | virtual |
| SHA512() | SHA512 | |
| update(const void *data, size_t len) | SHA512 | virtual |
| w (defined in SHA512) | SHA512 | |
| ~Hash() | Hash | virtual |
| ~SHA512() | SHA512 | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classSHA512.html b/html/classSHA512.html
new file mode 100644
index 00000000..c0a8cf33
--- /dev/null
+++ b/html/classSHA512.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
SHA-512 hash algorithm. + More...
+ +#include <SHA512.h>
+
+ +Public Member Functions | |
| + | SHA512 () |
| Constructs a SHA-512 hash object. | |
| +virtual | ~SHA512 () |
| Destroys this SHA-512 hash object after clearing sensitive information. | |
| size_t | hashSize () const |
| Size of the hash result from finalize(). More... | |
| size_t | blockSize () const |
| Size of the internal block used by the hash algorithm. More... | |
| void | reset () |
| Resets the hash ready for a new hashing process. More... | |
| void | update (const void *data, size_t len) |
| Updates the hash with more data. More... | |
| void | finalize (void *hash, size_t len) |
| Finalizes the hashing process and returns the hash. More... | |
| void | clear () |
| Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More... | |
| void | resetHMAC (const void *key, size_t keyLen) |
| Resets the hash ready for a new HMAC hashing process. More... | |
| void | finalizeHMAC (const void *key, size_t keyLen, void *hash, size_t hashLen) |
| Finalizes the HMAC hashing process and returns the hash. More... | |
Public Member Functions inherited from Hash | |
| + | Hash () |
| Constructs a new hash object. | |
| virtual | ~Hash () |
| Destroys this hash object. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Hash | |
| void | formatHMACKey (void *block, const void *key, size_t len, uint8_t pad) |
| Formats a HMAC key into a block. More... | |
SHA-512 hash algorithm.
+Reference: http://en.wikipedia.org/wiki/SHA-2
+ + + +
+
|
+ +virtual | +
Size of the internal block used by the hash algorithm.
+Implements Hash.
+ +Definition at line 61 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 136 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Finalizes the hashing process and returns the hash.
+| hash | The buffer to return the hash value in. |
| len | The length of the hash buffer, normally hashSize(). |
If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.
+If finalize() is called again, then the returned hash value is undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 105 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Finalizes the HMAC hashing process and returns the hash.
+| key | Points to the HMAC key for the hashing process. The contents of this array must be identical to the value passed to resetHMAC(). |
| keyLen | Size of the HMAC key in bytes. |
| hash | The buffer to return the hash value in. |
| hashLen | The length of the hash buffer, normally hashSize(). |
Implements Hash.
+ +Definition at line 149 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Size of the hash result from finalize().
+Implements Hash.
+ +Definition at line 56 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new hashing process.
+Implements Hash.
+ +Definition at line 66 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Resets the hash ready for a new HMAC hashing process.
+| key | Points to the HMAC key for the hashing process. |
| keyLen | Size of the HMAC key in bytes. |
The following example computes a HMAC over a series of data blocks with a specific key:
+The same key must be passed to both resetHMAC() and finalizeHMAC().
+Implements Hash.
+ +Definition at line 142 of file SHA512.cpp.
+ +
+
|
+ +virtual | +
Updates the hash with more data.
+| data | Data to be hashed. |
| len | Number of bytes of data to be hashed. |
If finalize() has already been called, then the behavior of update() will be undefined. Call reset() first to start a new hashing process.
+Implements Hash.
+ +Definition at line 79 of file SHA512.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classSHA512.png b/html/classSHA512.png
new file mode 100644
index 00000000..2375ded7
Binary files /dev/null and b/html/classSHA512.png differ
diff --git a/html/classSoftI2C-members.html b/html/classSoftI2C-members.html
new file mode 100644
index 00000000..c605dcc3
--- /dev/null
+++ b/html/classSoftI2C-members.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for SoftI2C, including all inherited members.
+| available() | SoftI2C | virtual |
| endWrite() | SoftI2C | virtual |
| maxTransferSize() const | SoftI2C | virtual |
| read() | SoftI2C | virtual |
| SoftI2C(uint8_t dataPin, uint8_t clockPin) | SoftI2C | |
| startRead(unsigned int address, unsigned int count) | SoftI2C | virtual |
| startWrite(unsigned int address) | SoftI2C | virtual |
| write(uint8_t value) | SoftI2C | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classSoftI2C.html b/html/classSoftI2C.html
new file mode 100644
index 00000000..5b2d7281
--- /dev/null
+++ b/html/classSoftI2C.html
@@ -0,0 +1,354 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Bit-banged implementation of an I2C master. + More...
+ +#include <SoftI2C.h>
+
+ +Public Member Functions | |
| + | SoftI2C (uint8_t dataPin, uint8_t clockPin) |
| Constructs a new software I2C master on dataPin and clockPin. | |
| +unsigned int | maxTransferSize () const |
| Returns the maximum number of bytes that can be read or written in a single request by this bus master. | |
| void | startWrite (unsigned int address) |
| Starts a write operation by sending a start condition and the I2C control byte. More... | |
| void | write (uint8_t value) |
| Writes a single byte value on the I2C bus. More... | |
| bool | endWrite () |
| Ends the current write operation. More... | |
| bool | startRead (unsigned int address, unsigned int count) |
| Starts a read operation for count bytes by sending the start condition and the I2C control byte. More... | |
| unsigned int | available () |
| Returns the number of bytes that are still available for reading. More... | |
| uint8_t | read () |
| Reads a single byte from the I2C bus. More... | |
Bit-banged implementation of an I2C master.
+This class implements the I2C master protocol on any arbitrary pair of data and clock pins. It is not restricted to pre-defined pins as is the case for the standard Arduino two-wire interface.
+This implementation only implements the master side of the protocol. It assumes that there is a single bus master, no arbitration, and no clock stretching.
+
+
|
+ +virtual | +
Returns the number of bytes that are still available for reading.
+Implements I2CMaster.
+ +Definition at line 155 of file SoftI2C.cpp.
+ +
+
|
+ +virtual | +
Ends the current write operation.
+Returns true if the write operation was acknowledged; false otherwise.
+Implements I2CMaster.
+ +Definition at line 129 of file SoftI2C.cpp.
+ +
+
|
+ +virtual | +
Reads a single byte from the I2C bus.
+Implements I2CMaster.
+ +Definition at line 160 of file SoftI2C.cpp.
+ +
+
|
+ +virtual | +
Starts a read operation for count bytes by sending the start condition and the I2C control byte.
+The address must be the 7-bit or 10-bit address of the I2C slave on the bus.
+Returns true if the read request was acknowledged by the I2C slave or false otherwise. If true, this function should be followed by count calls to read() to fetch the bytes.
+Implements I2CMaster.
+ +Definition at line 135 of file SoftI2C.cpp.
+ +
+
|
+ +virtual | +
Starts a write operation by sending a start condition and the I2C control byte.
+The address must be the 7-bit or 10-bit address of the I2C slave on the bus.
+Reimplemented from I2CMaster.
+ +Definition at line 104 of file SoftI2C.cpp.
+ +
+
|
+ +virtual | +
Writes a single byte value on the I2C bus.
+Implements I2CMaster.
+ +Definition at line 118 of file SoftI2C.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classSoftI2C.png b/html/classSoftI2C.png
new file mode 100644
index 00000000..6094e88e
Binary files /dev/null and b/html/classSoftI2C.png differ
diff --git a/html/classTextField-members.html b/html/classTextField-members.html
new file mode 100644
index 00000000..f3ce5433
--- /dev/null
+++ b/html/classTextField-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for TextField, including all inherited members.
+| dispatch(int event) | Field | virtual |
| enterField(bool reverse) | TextField | virtual |
| exitField() | Field | virtual |
| Field(const String &label) | Field | explicit |
| Field(Form &form, const String &label) | Field | |
| form() const | Field | inline |
| isCurrent() const | Field | |
| label() const | Field | inline |
| lcd() const | Field | inlineprotected |
| setLabel(const String &label) | Field | |
| setValue(const String &value) | TextField | |
| TextField(const String &label) | TextField | explicit |
| TextField(Form &form, const String &label, const String &value) | TextField | |
| updateCursor() | Field | protectedvirtual |
| value() const | TextField | inline |
| ~Field() | Field |
+ 1.8.6
+
+
+
diff --git a/html/classTextField.html b/html/classTextField.html
new file mode 100644
index 00000000..1d7582a1
--- /dev/null
+++ b/html/classTextField.html
@@ -0,0 +1,351 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Field that displays a read-only text value. + More...
+ +#include <TextField.h>
+
+ +Public Member Functions | |
| TextField (const String &label) | |
| Constructs a new text field with a specific label. More... | |
| TextField (Form &form, const String &label, const String &value) | |
| Constructs a new text field with a specific label and value attaches it to a form. More... | |
| void | enterField (bool reverse) |
| Enters the field due to form navigation. More... | |
| const String & | value () const |
| Returns the text value that is currently displayed by this field. More... | |
| void | setValue (const String &value) |
| Sets the text value that is displayed by this field. More... | |
Public Member Functions inherited from Field | |
| Field (const String &label) | |
| Constructs a new field with a specific label. More... | |
| + | Field (Form &form, const String &label) |
| Constructs a new field with a specific label and attaches it to a form. | |
| ~Field () | |
| Destroys this field and removes it from its owning Form. More... | |
| +Form * | form () const |
| Returns the Form that owns this field; null if not associated with a Form. | |
| virtual int | dispatch (int event) |
| Dispatches event via this field. More... | |
| virtual void | exitField () |
| Exits the field due to form navigation. More... | |
| const String & | label () const |
| Returns the label to display in the first line of this field. More... | |
| void | setLabel (const String &label) |
| Sets the label to display in the first line of this field. More... | |
| bool | isCurrent () const |
| Returns true if this field is the currently-displayed field in its owning form; false otherwise. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Field | |
| +LiquidCrystal * | lcd () const |
| Returns the LCD that this field is being drawn on. | |
| virtual void | updateCursor () |
| Updates the cursor position after the label has been drawn by setLabel(). More... | |
Field that displays a read-only text value.
+This following example displays a text field with the label "Form example" and a value() of "v1.0".
+
+As well as static messages, TextField can be used to display read-only information that is computed at runtime:
+For writable fields, use BoolField, IntField, or TimeField.
+Definition at line 28 of file TextField.h.
+
+
|
+ +explicit | +
Constructs a new text field with a specific label.
+The field is initially not associated with a Form. The field can be added to a form later using Form::addField().
+The initial value() will be the empty string.
+Definition at line 66 of file TextField.cpp.
+ +| TextField::TextField | +( | +Form & | +form, | +
| + | + | const String & | +label, | +
| + | + | const String & | +value | +
| + | ) | ++ |
Constructs a new text field with a specific label and value attaches it to a form.
+Definition at line 77 of file TextField.cpp.
+ +
+
|
+ +virtual | +
Enters the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate to the field. If reverse is true, then navigation was due to the Left button being pressed.
+This function can assume that the display has been cleared and the cursor is positioned at (0, 0).
+The default implementation prints the label().
+Reimplemented from Field.
+ +Definition at line 83 of file TextField.cpp.
+ +| void TextField::setValue | +( | +const String & | +value | ) | ++ |
Sets the text value that is displayed by this field.
+Definition at line 102 of file TextField.cpp.
+ +
+
|
+ +inline | +
Returns the text value that is currently displayed by this field.
+Definition at line 35 of file TextField.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classTextField.png b/html/classTextField.png
new file mode 100644
index 00000000..837289a6
Binary files /dev/null and b/html/classTextField.png differ
diff --git a/html/classTimeField-members.html b/html/classTimeField-members.html
new file mode 100644
index 00000000..cf11b00e
--- /dev/null
+++ b/html/classTimeField-members.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for TimeField, including all inherited members.
+| dispatch(int event) | TimeField | virtual |
| enterField(bool reverse) | TimeField | virtual |
| exitField() | TimeField | virtual |
| Field(const String &label) | Field | explicit |
| Field(Form &form, const String &label) | Field | |
| form() const | Field | inline |
| isCurrent() const | Field | |
| label() const | Field | inline |
| lcd() const | Field | inlineprotected |
| maxHours() const | TimeField | inline |
| readOnly() const | TimeField | inline |
| setLabel(const String &label) | Field | |
| setMaxHours(int maxHours) | TimeField | inline |
| setReadOnly(bool value) | TimeField | |
| setValue(unsigned long value) | TimeField | |
| TimeField(const String &label) | TimeField | explicit |
| TimeField(Form &form, const String &label, int maxHours, bool readOnly) | TimeField | |
| updateCursor() | Field | protectedvirtual |
| value() const | TimeField | inline |
| ~Field() | Field |
+ 1.8.6
+
+
+
diff --git a/html/classTimeField.html b/html/classTimeField.html
new file mode 100644
index 00000000..21d65f57
--- /dev/null
+++ b/html/classTimeField.html
@@ -0,0 +1,549 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Field that manages the display and editing of a time value. + More...
+ +#include <TimeField.h>
+
+ +Public Member Functions | |
| TimeField (const String &label) | |
| Constructs a new time field with a specific label. More... | |
| TimeField (Form &form, const String &label, int maxHours, bool readOnly) | |
| Constructs a new boolean field with a specific label and attaches it to a form. More... | |
| int | dispatch (int event) |
| Dispatches event via this field. More... | |
| void | enterField (bool reverse) |
| Enters the field due to form navigation. More... | |
| void | exitField () |
| Exits the field due to form navigation. More... | |
| unsigned long | value () const |
| Returns the current value of this time field, in seconds. More... | |
| void | setValue (unsigned long value) |
| Sets the value of this time field, in seconds. More... | |
| int | maxHours () const |
| Returns the maximum number of hours before the field wraps around. More... | |
| void | setMaxHours (int maxHours) |
| Sets the maximum number of hours before the field wraps around to maxHours. More... | |
| bool | readOnly () const |
| Returns TIMEFIELD_READ_ONLY (true) or TIMEFIELD_READ_WRITE (false). More... | |
| void | setReadOnly (bool value) |
| Sets the read-only state of this field to value. More... | |
Public Member Functions inherited from Field | |
| Field (const String &label) | |
| Constructs a new field with a specific label. More... | |
| + | Field (Form &form, const String &label) |
| Constructs a new field with a specific label and attaches it to a form. | |
| ~Field () | |
| Destroys this field and removes it from its owning Form. More... | |
| +Form * | form () const |
| Returns the Form that owns this field; null if not associated with a Form. | |
| const String & | label () const |
| Returns the label to display in the first line of this field. More... | |
| void | setLabel (const String &label) |
| Sets the label to display in the first line of this field. More... | |
| bool | isCurrent () const |
| Returns true if this field is the currently-displayed field in its owning form; false otherwise. More... | |
+Additional Inherited Members | |
Protected Member Functions inherited from Field | |
| +LiquidCrystal * | lcd () const |
| Returns the LCD that this field is being drawn on. | |
| virtual void | updateCursor () |
| Updates the cursor position after the label has been drawn by setLabel(). More... | |
Field that manages the display and editing of a time value.
+TimeField is suitable for displaying wall clock time in 24-hour format, or for displaying timeouts and durations in seconds. Times are specified in seconds as an unsigned long value. They are displayed as HH:MM:SS, for hours, minutes, and seconds.
The time field can be either read-only or read-write. When read-write, the Up, Down, Left, and Right buttons can be used to modify the hour, minute, and second components of the time value.
+The following example displays the number of hours, minutes, and seconds since the device was reset, wrapping around after 24 hours:
+
+A read-write field can be used to ask the user for the duration of an application count-down timer:
+
+Definition at line 31 of file TimeField.h.
+
+
|
+ +explicit | +
Constructs a new time field with a specific label.
+The field is initially not associated with a Form. The field can be added to a form later using Form::addField().
+Initially value() is 0, maxHours() is 24, and isReadOnly() is TIMEFIELD_READ_WRITE.
+Definition at line 82 of file TimeField.cpp.
+ +| TimeField::TimeField | +( | +Form & | +form, | +
| + | + | const String & | +label, | +
| + | + | int | +maxHours, | +
| + | + | bool | +readOnly | +
| + | ) | ++ |
Constructs a new boolean field with a specific label and attaches it to a form.
+The initial value() of the field will be 0. The value() will be limited to be less than maxHours * 60 * 60 seconds.
+If readOnly is TIMEFIELD_READ_ONLY, then the field will display times but not allow them to be modified by the user. If readOnly is TIMEFIELD_READ_WRITE, then the field will modifiable by the user.
+Definition at line 105 of file TimeField.cpp.
+ +
+
|
+ +virtual | +
Dispatches event via this field.
+The event is usually obtained from LCD::getButton().
+Returns zero if the event has been handled and no further action is required.
+Returns FORM_CHANGED if the event has changed the value of this field in a manner that may require the application to take further action based on the new field value.
+Returns -1 if the event is not handled by this field, and should be handled by the Form itself (particularly for Left and Right buttons). The default implementation returns -1 for all events.
+Reimplemented from Field.
+ +Definition at line 115 of file TimeField.cpp.
+ +
+
|
+ +virtual | +
Enters the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate to the field. If reverse is true, then navigation was due to the Left button being pressed.
+This function can assume that the display has been cleared and the cursor is positioned at (0, 0).
+The default implementation prints the label().
+Reimplemented from Field.
+ +Definition at line 193 of file TimeField.cpp.
+ +
+
|
+ +virtual | +
Exits the field due to form navigation.
+This function is typically called when the user presses Left and Right buttons to navigate from the field.
+Reimplemented from Field.
+ +Definition at line 205 of file TimeField.cpp.
+ +
+
|
+ +inline | +
Returns the maximum number of hours before the field wraps around.
+Definition at line 44 of file TimeField.h.
+ +
+
|
+ +inline | +
Returns TIMEFIELD_READ_ONLY (true) or TIMEFIELD_READ_WRITE (false).
+Definition at line 47 of file TimeField.h.
+ +
+
|
+ +inline | +
Sets the maximum number of hours before the field wraps around to maxHours.
+Definition at line 45 of file TimeField.h.
+ +| void TimeField::setReadOnly | +( | +bool | +value | ) | ++ |
Sets the read-only state of this field to value.
+The value should be one of TIMEFIELD_READ_ONLY (true) or TIMEFIELD_READ_WRITE (false). Use of the named constants is recommended.
+Definition at line 268 of file TimeField.cpp.
+ +| void TimeField::setValue | +( | +unsigned long | +value | ) | ++ |
Sets the value of this time field, in seconds.
+If value is greater than or equal to maxHours() * 60 * 60, then it will be wrapped around to fall within the valid range.
+Definition at line 227 of file TimeField.cpp.
+ +
+
|
+ +inline | +
Returns the current value of this time field, in seconds.
+Definition at line 41 of file TimeField.h.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classTimeField.png b/html/classTimeField.png
new file mode 100644
index 00000000..58edd40f
Binary files /dev/null and b/html/classTimeField.png differ
diff --git a/html/classTransistorNoiseSource-members.html b/html/classTransistorNoiseSource-members.html
new file mode 100644
index 00000000..bdbe601e
--- /dev/null
+++ b/html/classTransistorNoiseSource-members.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This is the complete list of members for TransistorNoiseSource, including all inherited members.
+| calibrating() const | TransistorNoiseSource | virtual |
| NoiseSource() | NoiseSource | |
| output(const uint8_t *data, size_t len, unsigned int credit) | NoiseSource | protectedvirtual |
| stir() | TransistorNoiseSource | virtual |
| TransistorNoiseSource(uint8_t pin) | TransistorNoiseSource | explicit |
| ~NoiseSource() | NoiseSource | virtual |
| ~TransistorNoiseSource() (defined in TransistorNoiseSource) | TransistorNoiseSource | virtual |
+ 1.8.6
+
+
+
diff --git a/html/classTransistorNoiseSource.html b/html/classTransistorNoiseSource.html
new file mode 100644
index 00000000..e483f80d
--- /dev/null
+++ b/html/classTransistorNoiseSource.html
@@ -0,0 +1,285 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Processes the signal from a transistor-based noise source. + More...
+ +#include <TransistorNoiseSource.h>
+
+ +Public Member Functions | |
| TransistorNoiseSource (uint8_t pin) | |
| Constructs a new transitor-based noise source handler. More... | |
| bool | calibrating () const |
| Determine if the noise source is still calibrating itself. More... | |
| void | stir () |
| Stirs entropy from this noise source into the global random number pool. More... | |
Public Member Functions inherited from NoiseSource | |
| + | NoiseSource () |
| Constructs a new random noise source. | |
| +virtual | ~NoiseSource () |
| Destroys this random noise source. | |
+Additional Inherited Members | |
Protected Member Functions inherited from NoiseSource | |
| virtual void | output (const uint8_t *data, size_t len, unsigned int credit) |
| Called from subclasses to output noise to the global random number pool. More... | |
Processes the signal from a transistor-based noise source.
+This class processes input from a transistor-based noise source, such as that described by Rob Seward. See that Web page for full details on how such noise sources work, how the output should be used, and caveats for the unwary. For convenience, Rob's circuit is reproduced below:
+
+The following example shows how to initialize a transistor-based noise source and use it with RNG. The noise is read from the A1 pin on the Arduino and stirred into the random number pool on a regular basis. For more information, see the documentation for RNG.
+Definition at line 29 of file TransistorNoiseSource.h.
+
+
|
+ +explicit | +
Constructs a new transitor-based noise source handler.
+| pin | The analog input pin that the noise will appear on. |
Definition at line 138 of file TransistorNoiseSource.cpp.
+ +
+
|
+ +virtual | +
Determine if the noise source is still calibrating itself.
+Noise sources that require calibration start doing so at system startup and then switch over to random data generation once calibration is complete. Since no random data is being generated during calibration, the output from RNG.rand() may be predictable. Use RNG.available() to determine when sufficient entropy is available to generate good random values.
+It is possible that the noise source never exits calibration. This can happen if the input voltage is insufficient to trigger noise or if the noise source is not connected. Noise sources may also periodically recalibrate themselves.
+Implements NoiseSource.
+ +Definition at line 156 of file TransistorNoiseSource.cpp.
+ +
+
|
+ +virtual | +
Stirs entropy from this noise source into the global random number pool.
+This function should call output() to add the entropy from this noise source to the global random number pool.
+The noise source should batch up the entropy data, providing between 16 and 48 bytes of data each time. If the noise source does not have sufficient entropy data at the moment, it should return without stiring the current data in.
+Implements NoiseSource.
+ +Definition at line 161 of file TransistorNoiseSource.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/classTransistorNoiseSource.png b/html/classTransistorNoiseSource.png
new file mode 100644
index 00000000..7bbe617d
Binary files /dev/null and b/html/classTransistorNoiseSource.png differ
diff --git a/html/classes.html b/html/classes.html
new file mode 100644
index 00000000..50eda519
--- /dev/null
+++ b/html/classes.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
| CFB |
| ListField | RTCTime | ||
| CFBCommon |
|
| ||||
| AES128 | ChaCha | Field | ||||
| AES192 | Charlieplex | Form | Melody | SHA1 | ||
| AES256 | ChaseLEDs |
|
| SHA256 | ||
| AESCommon | Cipher | SHA3_256 | ||||
| CTR | Hash | NoiseSource | SHA3_512 | ||
| CTRCommon |
|
| SHA512 | |||
| Bitmap | Curve25519 | SoftI2C | ||||
| BLAKE2b |
| I2CMaster | OFB |
| ||
| BLAKE2s | IntField | OFBCommon | ||||
| BlinkLED | DMD | IRreceiver |
| TextField | ||
| BlockCipher | DS1307RTC |
| TimeField | |||
| BoolField | DS3231RTC | RingOscillatorNoiseSource | TransistorNoiseSource | |||
| DS3232RTC | KeccakCore | RNGClass | |||
|
| RTC | ||||
| CBC | RTCAlarm | |||||
| CBCCommon | EEPROM24 | LCD | RTCDate | |||
+ 1.8.6
+
+
+
diff --git a/html/clock_shield.jpg b/html/clock_shield.jpg
new file mode 100644
index 00000000..0d4673d4
Binary files /dev/null and b/html/clock_shield.jpg differ
diff --git a/html/closed.png b/html/closed.png
new file mode 100644
index 00000000..98cc2c90
Binary files /dev/null and b/html/closed.png differ
diff --git a/html/crypto-rng-ring_8dox.html b/html/crypto-rng-ring_8dox.html
new file mode 100644
index 00000000..1f9bc249
--- /dev/null
+++ b/html/crypto-rng-ring_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/crypto-rng_8dox.html b/html/crypto-rng_8dox.html
new file mode 100644
index 00000000..171b4ddb
--- /dev/null
+++ b/html/crypto-rng_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/crypto.html b/html/crypto.html
new file mode 100644
index 00000000..b0c1fd48
--- /dev/null
+++ b/html/crypto.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
All cryptographic algorithms have been optimized for 8-bit Arduino platforms like the Uno. Memory usage is also reduced, particularly for SHA1, SHA256, and SHA512 which save 256, 192, and 512 bytes respectively over traditional implementations. For all algorithms, static sbox tables and the like are placed into program memory to further reduce data memory usage.
+ChaCha with 20 rounds and 256-bit keys is the recommended symmetric encryption algorithm because it is twice as fast as AES128, constant-time, and much more secure. AES128, AES192, and AES256 are provided for use in applications where compatibility with other systems is desirable.
+BLAKE2s and BLAKE2b are variations on the ChaCha stream cipher, designed for hashing, with 256-bit and 512-bit hash outputs respectively. They are intended as high performance replacements for SHA256 and SHA512 for when speed is critical but exact bit-compatibility of hash values is not.
+All figures are for the Arduino Uno running at 16 MHz. Figures for the Ardunino Mega 2560 running at 16 MHz are similar:
+| Algorithm | Encryption / Hashing (per byte) | Decryption (per byte) | Key Setup | State Size (bytes) |
| AES128 (ECB mode) | 36.90us | 66.48us | 160.00us | 208 |
| AES192 (ECB mode) | 44.20us | 80.35us | 166.54us | 240 |
| AES256 (ECB mode) | 51.50us | 94.22us | 227.97us | 272 |
| ChaCha (20 rounds) | 14.87us | 14.88us | 43.74us | 130 |
| ChaCha (12 rounds) | 10.38us | 10.38us | 43.74us | 130 |
| ChaCha (8 rounds) | 8.13us | 8.14us | 43.74us | 130 |
| SHA1 | 21.90us | 93 | ||
| SHA256 | 43.85us | 105 | ||
| SHA512 | 123.24us | 209 | ||
| SHA3_256 | 121.69us | 403 | ||
| SHA3_512 | 229.12us | 403 | ||
| BLAKE2s | 18.54us | 169 | ||
| BLAKE2b | 50.58us | 337 |
Where a cipher supports more than one key size (such as ChaCha), the values are typically almost identical for 128-bit and 256-bit keys so only the maximum is shown above.
+Public key algorithms have the following results on an Arduino Uno:
+| Algorithm | Operation | Time | Comment |
| Curve25519 | eval() | 3738 ms | Raw curve evaluation |
| Curve25519 | dh1() | 3740 ms | First half of Diffie-Hellman key agreement |
| Curve25519 | dh2() | 3738 ms | Second half of Diffie-Hellman key agreement |
+ 1.8.6
+
+
+
diff --git a/html/crypto_8dox.html b/html/crypto_8dox.html
new file mode 100644
index 00000000..f019c86f
--- /dev/null
+++ b/html/crypto_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/crypto_rng.html b/html/crypto_rng.html
new file mode 100644
index 00000000..f9051d30
--- /dev/null
+++ b/html/crypto_rng.html
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Random numbers are one of the most important aspects of secure cryptography. Without a good source of random numbers it may be possible for an attacker to predict the encryption and authentication keys that are used to protect a session, or to predict the private component of a public/private key pair. This is especially difficult in embedded environments that do not have input sources like keystrokes, mouse movements, disk drive write times, etc to collect entropy from the user.
+This library provides the RNG class to manage the global random number pool. It has the following features:
+The whitening function and the PRNG are based on ChaCha::hashCore() with 20 rounds. The structure of the PRNG is very similar to OpenBSD's ChaCha20-based arc4random() implementation.
+The library provides two standard noise sources:
+The transistor design needs an input voltage of 10 to 15 VDC to trigger the avalanche effect, which can sometimes be difficult in a 5V Arduino environment. The ring oscillator design can run at 5V but the quality of the noise is less than for the transistor design. The RingOscillatorNoiseSource class attempts to make up for this by collecting more input bits for the same amount of output entropy. See this page for more information on ring oscillators.
+For both of the standard noise sources, the system should have enough entropy to safely generate 256 bits of key material about 3 to 4 seconds after startup. This is sufficient to create a private key for Curve25519 for example.
+If you are unsure which noise source to use, then I suggest TransistorNoiseSource as Rob's design has had more review. Another approach is to mix multiple noise sources together to get the best of both worlds.
+To use the random number generator, both RNG and a noise source must first be initialized. We start by including the necessary libraries:
+Next we create a global variable for the noise source and specify the I/O pin that the noise circuit is connected to:
+Then in the setup() function we call RNG.begin() to start the random number generator running and call RNG.addNoiseSource() to register all of the application's noise sources:
+The begin() function is passed two arguments: a tag string that should be different for every application and an EEPROM address to use to load and save the random number seed. The tag string ensures that different applications and versions will generate different random numbers upon first boot before the noise source has collected any entropy. If the device also has a unique serial number or a MAC address, then those can be mixed in during the setup() function after calling begin():
+The random number generator needs 49 bytes of EEPROM space at the specified address to store the previous seed. When the system is started next time, the previous saved seed is loaded and then deliberately overwritten with a new seed. This ensures that the device will not accidentally generate the same sequence of random numbers if it is restarted before a new seed can be saved.
+By default the seed is saved once an hour, although this can be changed with RNG.setAutoSaveTime(). Because the device may be restarted before the first hour expires, there is a special case in the code: the first time that the entropy pool fills up, a save will be automatically forced.
+To use the random number generator properly, there are some regular tasks that must be performed every time around the application's main loop(). Newly accumulated noise must be mixed in and auto-saves must be performed on a regular basis. The RNG.loop() function takes care of these tasks for us:
+The random number generator is now ready to generate data.
+Whenever the application needs random data, it calls RNG.rand() with a buffer to fill. The following example generates a 256-bit encryption key and a 128-bit initialization vector; e.g. for use with AES256 in CTR mode:
+The data will be generated immediately, using whatever entropy happens to be in the global random number pool at the time. In Linux terms, the rand() function acts like the /dev/urandom device.
If the system has been running for a while then this should be safe as the noise source would have already permuted the pool with noise-based entropy. However, when the system first starts up there may not be much entropy available other than that from the saved seed (which could have been compromised).
+In Linux terms we want the effect of the /dev/random device which blocks until sufficient entropy is available to service the request. Blocking isn't compatible with the Arduino way of doing things, so the library instead provides the RNG.available() function to poll how much entropy is in the global random number pool:
This feature should allow applications to generate secret material safely at startup. The application may want to implement a timeout: if the application has to wait too long to generate a key then the noise source may be disconnected or faulty.
+The global random number pool can hold up to 48 bytes, or 384 bits, of entropy. Requests for more than 384 bits will be allowed if the entropy is at maximum. That is, a request for 64 bytes (512 bits) of data will be allowed when there is only 384 bits of entropy in the pool. This behaviour prevents the application from waiting indefinitely if the request is too large.
+If the application truly needs more than 384 bits of real entropy (e.g. to generate a public/private key pair for an algorithm like RSA), then it should break the request up into smaller chunks and poll available() for each chunk.
+When the application is finished with the secret key material and plaintext, it should destroy the data to remove it from RAM permanently. The memset() function can be used for this purpose:
+However, this may not be safe. Optimizing compilers have been known to optimize away memset() calls if the compiler thinks that the value won't be used again. A safer method is to use the clean() function in the library:
+The clean() function attempts to implement the memory clear in a way that the compiler shouldn't optimize away. By default the clean() function figures out the size of the buffer itself at compile time. In some cases (e.g. buffers that are passed by pointer), it may be necessary to specify the size manually:
+
+ 1.8.6
+
+
+
diff --git a/html/crypto_rng_ring.html b/html/crypto_rng_ring.html
new file mode 100644
index 00000000..946ad738
--- /dev/null
+++ b/html/crypto_rng_ring.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This page discusses how to construct and use a noise source based on the jitter from a ring oscillator. The circuit here is very simple: more complex ring oscillator designs are possible and may give better results.
+A ring oscillator is formed out of an odd number of inverter gates. A 1 value on the input to the first gate will be inverted several times, resulting in a 0 value being fed back into the first gate. In turn that 0 is inverted several times to generate another 1. And so on. In schematic form, a 3-stage ring oscillator looks like this:
+
+Because electronic circuits are not instanteous devices it can take some time for the values to propagate down the inverter chain. The longer the chain (5-stage, 7-stage, 9-stage, or more) the longer the propagation delay. The important thing is that the delay is not fixed: differences in components, ambient temperature, and other factors combine to introduce a little bit of random jitter in the output waveform.
+For our purposes, the jitter is what we are after. The timing differences from one rising edge to the the next gives us the random bits.
+The triangular-shaped output from the final inverter isn't very friendly to microprocessors. So it is common to select out the jitter using a D flip-flop and a periodic clock signal:
+
+Practical designs inside CPU's often use multiple ring oscillators XOR'ed together:
+
+Even after all that the output won't be uniformly random. It is necessary to whiten the output with a secure hash function before using the data for cryptography. Fortunately for us, RNG.stir() has built-in support for whitening so we just need to collect the raw bits.
+To keep things simple, we are going to use a single 5-stage ring oscillator with a sampling clock provided by a 555 timer:
+
+The components were deliberately chosen to be commonly available. The only special one is the 555. I recommend using the CMOS LM7555 variant (or something equivalent) instead because it can operate at higher frequencies than a garden variety 555. The 56 ohm resistor on the output of U2 inhibits ringing on the clock line: we want the noise to come from U1 not U2.
+The frequency output from U1 will depend upon the properties of your 4069 chip. A cheap bargain bin chip is actually better than a high quality chip. Some inverter datasheets I have read proudly advertise reduced jitter but the jitter is what we are after here. My 4069 was generating about 1.7MHz with a 5-stage ring oscillator. Other chips I tried were able to exceed 12MHz with a 3-stage ring oscillator. Because the Arduino isn't fast enough to sample high frequency signals, lower is actually better for our needs.
+To further lower the frequency to something the Arduino can measure, the 555 timer should be set to between 100kHz and 200kHz (it's ok to be a little over 200kHz). Start with an R1 value of about 2.2K and adjust it up or down to get the frequency into the target range. Also measure the output frequency from U3A and try to target between 20kHz and 50kHz. The Arduino can easily sample that without putting too much burden on the CPU. The signal should be very jittery at this point.
+This design can of course be improved by using multiple ring oscillators and an XOR gate, but I wanted to keep the component count low for the basic design.
+The RingOscillatorNoiseSource class uses the input capture feature of the AVR microcontroller to measure the time between successive rising edges. Input capture is only possible on certain pins and the output of the circuit above needs to be connected to the correct pin:
+| Variant | Arduino Pin / AVR Pin | Timer |
| Arduino Uno | D8 / PB0 | Timer 1 |
| Arduino Leonardo | D4 / PD4 | Timer 1 |
| Arduino Mega or Mega 2560 | D49 / PL0 | Timer 4 |
If your board is not pin-compatible with one of the above, then the source for the RingOscillatorNoiseSource class will need to be modified to use a different pin/timer combination. Also, when the timer is in use by this class it cannot be used for other application tasks.
+The timer is set up in free-running mode to count as fast as possible. Whenever a rising edge occurs on the input signal, the timer's current value is written to a special register and an interrupt occurs. Within the interrupt service routine, the previous register value is subtracted from the current value to determine the amount of time that has elapsed between the two rising edges.
+The jitter is extracted from the time difference in a very simple way: the lowest bit of the difference is the jitter and all other bits are discarded. The interrupt service routine collects up 16 bits of jitter over successive input pulses and then passes them to the higher level code in the RingOscillatorNoiseSource class.
+Within the higher level code, the input bits are first debiased using the Von Neumann method to discard the parts of the signal that don't jitter very much:
+The debiased bits are collected up into a 256-bit buffer. Once the buffer is full it is passed to RNG.stir() to be whitened and incorporated into the global random number pool.
+And that's it!
+As noted earlier, the output from a ring oscillator is not uniform. To deal with this, the RingOscillatorNoiseSource class takes a fairly conservative approach. It credits a very small amount of entropy to each full buffer, forcing the system to collect more input data to achieve full entropy.
+My investigations showed that at 20kHz it takes about a second to generate 256 bits of good random data after Von Neumann debiasing and whitening. Two to three seconds after startup there should be enough entropy in the random number pool to generate encryption keys and other secret material safely. The RNG.available() function can be used to determine when there is enough entropy in the pool for the application's needs.
+
+ 1.8.6
+
+
+
diff --git a/html/dir_1586d320a3b1e622174530fde769cda9.html b/html/dir_1586d320a3b1e622174530fde769cda9.html
new file mode 100644
index 00000000..6d6b7e94
--- /dev/null
+++ b/html/dir_1586d320a3b1e622174530fde769cda9.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Files | |
| file | BlinkLED.cpp [code] |
| file | BlinkLED.h [code] |
| file | Charlieplex.cpp [code] |
| file | Charlieplex.h [code] |
| file | ChaseLEDs.cpp [code] |
| file | ChaseLEDs.h [code] |
+ 1.8.6
+
+
+
diff --git a/html/dir_48f64e79f12bd77ba047e9e436ec978c.html b/html/dir_48f64e79f12bd77ba047e9e436ec978c.html
new file mode 100644
index 00000000..c0c28026
--- /dev/null
+++ b/html/dir_48f64e79f12bd77ba047e9e436ec978c.html
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Files | |
| file | BoolField.cpp [code] |
| file | BoolField.h [code] |
| file | Field.cpp [code] |
| file | Field.h [code] |
| file | Form.cpp [code] |
| file | Form.h [code] |
| file | IntField.cpp [code] |
| file | IntField.h [code] |
| file | LCD.cpp [code] |
| file | LCD.h [code] |
| file | ListField.cpp [code] |
| file | ListField.h [code] |
| file | TextField.cpp [code] |
| file | TextField.h [code] |
| file | TimeField.cpp [code] |
| file | TimeField.h [code] |
+ 1.8.6
+
+
+
diff --git a/html/dir_5e87a7229a108582288ef7eda1233dc3.html b/html/dir_5e87a7229a108582288ef7eda1233dc3.html
new file mode 100644
index 00000000..ed6058fe
--- /dev/null
+++ b/html/dir_5e87a7229a108582288ef7eda1233dc3.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/dir_6591a2127a29f6cea3994dcb5b0596d1.html b/html/dir_6591a2127a29f6cea3994dcb5b0596d1.html
new file mode 100644
index 00000000..6fdf4541
--- /dev/null
+++ b/html/dir_6591a2127a29f6cea3994dcb5b0596d1.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Files | |
| file | Bitmap.cpp [code] |
| file | Bitmap.h [code] |
| file | DejaVuSans9.h [code] |
| file | DejaVuSansBold9.h [code] |
| file | DejaVuSansItalic9.h [code] |
| file | DMD.cpp [code] |
| file | DMD.h [code] |
| file | Mono5x7.h [code] |
+ 1.8.6
+
+
+
diff --git a/html/dir_9a34040863d1190c0e01b23e6b44de01.html b/html/dir_9a34040863d1190c0e01b23e6b44de01.html
new file mode 100644
index 00000000..eb8fada6
--- /dev/null
+++ b/html/dir_9a34040863d1190c0e01b23e6b44de01.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/dir_bc0718b08fb2015b8e59c47b2805f60c.html b/html/dir_bc0718b08fb2015b8e59c47b2805f60c.html
new file mode 100644
index 00000000..41a5ad21
--- /dev/null
+++ b/html/dir_bc0718b08fb2015b8e59c47b2805f60c.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Directories | |
| directory | BlinkLED |
| directory | Crypto |
| directory | DMD |
| directory | I2C |
| directory | IR |
| directory | LCD |
| directory | Melody |
| directory | PowerSave |
| directory | RTC |
+ 1.8.6
+
+
+
diff --git a/html/dir_be059bf9978ae156837504b1b8a7568c.html b/html/dir_be059bf9978ae156837504b1b8a7568c.html
new file mode 100644
index 00000000..672ab798
--- /dev/null
+++ b/html/dir_be059bf9978ae156837504b1b8a7568c.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/dir_e2ce51835550ba18edf07a8311722290.html b/html/dir_e2ce51835550ba18edf07a8311722290.html
new file mode 100644
index 00000000..730f0780
--- /dev/null
+++ b/html/dir_e2ce51835550ba18edf07a8311722290.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Files | |
| file | AES.h [code] |
| file | AES128.cpp [code] |
| file | AES192.cpp [code] |
| file | AES256.cpp [code] |
| file | AESCommon.cpp [code] |
| file | BLAKE2b.cpp [code] |
| file | BLAKE2b.h [code] |
| file | BLAKE2s.cpp [code] |
| file | BLAKE2s.h [code] |
| file | BlockCipher.cpp [code] |
| file | BlockCipher.h [code] |
| file | CBC.cpp [code] |
| file | CBC.h [code] |
| file | CFB.cpp [code] |
| file | CFB.h [code] |
| file | ChaCha.cpp [code] |
| file | ChaCha.h [code] |
| file | Cipher.cpp [code] |
| file | Cipher.h [code] |
| file | Crypto.cpp [code] |
| file | Crypto.h [code] |
| file | CTR.cpp [code] |
| file | CTR.h [code] |
| file | Curve25519.cpp [code] |
| file | Curve25519.h [code] |
| file | Hash.cpp [code] |
| file | Hash.h [code] |
| file | KeccakCore.cpp [code] |
| file | KeccakCore.h [code] |
| file | NoiseSource.cpp [code] |
| file | NoiseSource.h [code] |
| file | OFB.cpp [code] |
| file | OFB.h [code] |
| file | RingOscillatorNoiseSource.cpp [code] |
| file | RingOscillatorNoiseSource.h [code] |
| file | RNG.cpp [code] |
| file | RNG.h [code] |
| file | SHA1.cpp [code] |
| file | SHA1.h [code] |
| file | SHA256.cpp [code] |
| file | SHA256.h [code] |
| file | SHA3.cpp [code] |
| file | SHA3.h [code] |
| file | SHA512.cpp [code] |
| file | SHA512.h [code] |
| file | TransistorNoiseSource.cpp [code] |
| file | TransistorNoiseSource.h [code] |
+ 1.8.6
+
+
+
diff --git a/html/dir_f34881fcf60f680b800190d5274dfaea.html b/html/dir_f34881fcf60f680b800190d5274dfaea.html
new file mode 100644
index 00000000..0f54db8a
--- /dev/null
+++ b/html/dir_f34881fcf60f680b800190d5274dfaea.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Files | |
| file | DS1307RTC.cpp [code] |
| file | DS1307RTC.h [code] |
| file | DS3231RTC.cpp [code] |
| file | DS3231RTC.h [code] |
| file | DS3232RTC.cpp [code] |
| file | DS3232RTC.h [code] |
| file | RTC.cpp [code] |
| file | RTC.h [code] |
+ 1.8.6
+
+
+
diff --git a/html/dir_f9b96888882c2691b8eeaeafd1b9501d.html b/html/dir_f9b96888882c2691b8eeaeafd1b9501d.html
new file mode 100644
index 00000000..05ffe78e
--- /dev/null
+++ b/html/dir_f9b96888882c2691b8eeaeafd1b9501d.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Files | |
| file | EEPROM24.cpp [code] |
| file | EEPROM24.h [code] |
| file | I2CMaster.cpp [code] |
| file | I2CMaster.h [code] |
| file | SoftI2C.cpp [code] |
| file | SoftI2C.h [code] |
+ 1.8.6
+
+
+
diff --git a/html/dmd-4x1.png b/html/dmd-4x1.png
new file mode 100644
index 00000000..f796bbd2
Binary files /dev/null and b/html/dmd-4x1.png differ
diff --git a/html/dmd-4x2.png b/html/dmd-4x2.png
new file mode 100644
index 00000000..ac0f3144
Binary files /dev/null and b/html/dmd-4x2.png differ
diff --git a/html/dmd-4x3.png b/html/dmd-4x3.png
new file mode 100644
index 00000000..7291057c
Binary files /dev/null and b/html/dmd-4x3.png differ
diff --git a/html/dmd-demo_8dox.html b/html/dmd-demo_8dox.html
new file mode 100644
index 00000000..16e0a7ef
--- /dev/null
+++ b/html/dmd-demo_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/dmd-running-figure_8dox.html b/html/dmd-running-figure_8dox.html
new file mode 100644
index 00000000..f36944a0
--- /dev/null
+++ b/html/dmd-running-figure_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/dmd_demo.html b/html/dmd_demo.html
new file mode 100644
index 00000000..1ac4b869
--- /dev/null
+++ b/html/dmd_demo.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This demo shows off various features of drawing with the Bitmap class to a DMD display:
+RunningFigure provides another example of drawing and animating bitmaps.
+The full source code for the demo follows:
+
+ 1.8.6
+
+
+
diff --git a/html/dmd_running_figure.html b/html/dmd_running_figure.html
new file mode 100644
index 00000000..704a536b
--- /dev/null
+++ b/html/dmd_running_figure.html
@@ -0,0 +1,438 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This example demonstrates how to draw animated bitmaps to Freetronics Large Dot Matrix Displays. These displays have 512 LED's arranged in a 32x16 matrix and controlled by an SPI interface. The displays are available in red, blue, green, yellow, and white variations.
+The first step is to initialize the display:
+We will also need some bitmaps to animate the running figure. We will use static bitmaps stored in program memory. The first frame of the 10-frame animation is:
+As can be seen, the bitmap is made up of 0's and 1's; a 1 bit indicates that the corresponding LED will be lit when it is drawn to the dot matrix display. The first two bytes are the width and height of the bitmap in pixels. In this case, the first frame is 16x16 pixels. Other frames in the animation are 18x16 and 13x16.
+We store pointers to all of the frames in a common array:
+All that remains is to run the animation loop:
+Each time ADVANCE_MS milliseconds expires, we clear the display and draw a bitmap centered on the screen. To help with the centering, we read the width value from the bitmap for the current frame (the height is always 16). We must also call DMD::loop() repeatedly from the application's main loop() function to ensure that the display is kept refreshed.
Sometimes it can be inconvenient to arrange for DMD::loop() to be called regularly. An alternative is to use Timer1 or Timer2 and interrupt-driven display refresh:
+In the case of Timer2, TIMER2_OVF_vect and enableTimer2() would be used in place of TIMER1_OVF_vect and enableTimer1().
The full source code for the example follows:
+
+ 1.8.6
+
+
+
diff --git a/html/doxygen.css b/html/doxygen.css
new file mode 100644
index 00000000..f0f36f89
--- /dev/null
+++ b/html/doxygen.css
@@ -0,0 +1,1366 @@
+/* The standard CSS for doxygen 1.8.6 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-topleft: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 20px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
diff --git a/html/doxygen.png b/html/doxygen.png
new file mode 100644
index 00000000..3ff17d80
Binary files /dev/null and b/html/doxygen.png differ
diff --git a/html/dynsections.js b/html/dynsections.js
new file mode 100644
index 00000000..2f15470d
--- /dev/null
+++ b/html/dynsections.js
@@ -0,0 +1,104 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function(){
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ftv2blank.png b/html/ftv2blank.png
new file mode 100644
index 00000000..63c605bb
Binary files /dev/null and b/html/ftv2blank.png differ
diff --git a/html/ftv2cl.png b/html/ftv2cl.png
new file mode 100644
index 00000000..132f6577
Binary files /dev/null and b/html/ftv2cl.png differ
diff --git a/html/ftv2doc.png b/html/ftv2doc.png
new file mode 100644
index 00000000..17edabff
Binary files /dev/null and b/html/ftv2doc.png differ
diff --git a/html/ftv2folderclosed.png b/html/ftv2folderclosed.png
new file mode 100644
index 00000000..bb8ab35e
Binary files /dev/null and b/html/ftv2folderclosed.png differ
diff --git a/html/ftv2folderopen.png b/html/ftv2folderopen.png
new file mode 100644
index 00000000..d6c7f676
Binary files /dev/null and b/html/ftv2folderopen.png differ
diff --git a/html/ftv2lastnode.png b/html/ftv2lastnode.png
new file mode 100644
index 00000000..63c605bb
Binary files /dev/null and b/html/ftv2lastnode.png differ
diff --git a/html/ftv2link.png b/html/ftv2link.png
new file mode 100644
index 00000000..17edabff
Binary files /dev/null and b/html/ftv2link.png differ
diff --git a/html/ftv2mlastnode.png b/html/ftv2mlastnode.png
new file mode 100644
index 00000000..0b63f6d3
Binary files /dev/null and b/html/ftv2mlastnode.png differ
diff --git a/html/ftv2mnode.png b/html/ftv2mnode.png
new file mode 100644
index 00000000..0b63f6d3
Binary files /dev/null and b/html/ftv2mnode.png differ
diff --git a/html/ftv2mo.png b/html/ftv2mo.png
new file mode 100644
index 00000000..4bfb80f7
Binary files /dev/null and b/html/ftv2mo.png differ
diff --git a/html/ftv2node.png b/html/ftv2node.png
new file mode 100644
index 00000000..63c605bb
Binary files /dev/null and b/html/ftv2node.png differ
diff --git a/html/ftv2ns.png b/html/ftv2ns.png
new file mode 100644
index 00000000..72e3d71c
Binary files /dev/null and b/html/ftv2ns.png differ
diff --git a/html/ftv2plastnode.png b/html/ftv2plastnode.png
new file mode 100644
index 00000000..c6ee22f9
Binary files /dev/null and b/html/ftv2plastnode.png differ
diff --git a/html/ftv2pnode.png b/html/ftv2pnode.png
new file mode 100644
index 00000000..c6ee22f9
Binary files /dev/null and b/html/ftv2pnode.png differ
diff --git a/html/ftv2splitbar.png b/html/ftv2splitbar.png
new file mode 100644
index 00000000..fe895f2c
Binary files /dev/null and b/html/ftv2splitbar.png differ
diff --git a/html/ftv2vertline.png b/html/ftv2vertline.png
new file mode 100644
index 00000000..63c605bb
Binary files /dev/null and b/html/ftv2vertline.png differ
diff --git a/html/functions.html b/html/functions.html
new file mode 100644
index 00000000..3a542917
--- /dev/null
+++ b/html/functions.html
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_b.html b/html/functions_b.html
new file mode 100644
index 00000000..61a49bf2
--- /dev/null
+++ b/html/functions_b.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_c.html b/html/functions_c.html
new file mode 100644
index 00000000..4b6ef0dd
--- /dev/null
+++ b/html/functions_c.html
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_d.html b/html/functions_d.html
new file mode 100644
index 00000000..3ce51de0
--- /dev/null
+++ b/html/functions_d.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_e.html b/html/functions_e.html
new file mode 100644
index 00000000..988f02c1
--- /dev/null
+++ b/html/functions_e.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_enum.html b/html/functions_enum.html
new file mode 100644
index 00000000..a3c4e997
--- /dev/null
+++ b/html/functions_enum.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_eval.html b/html/functions_eval.html
new file mode 100644
index 00000000..b4e2de51
--- /dev/null
+++ b/html/functions_eval.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_f.html b/html/functions_f.html
new file mode 100644
index 00000000..aba841d7
--- /dev/null
+++ b/html/functions_f.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func.html b/html/functions_func.html
new file mode 100644
index 00000000..aefcc298
--- /dev/null
+++ b/html/functions_func.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_b.html b/html/functions_func_b.html
new file mode 100644
index 00000000..2d111f5b
--- /dev/null
+++ b/html/functions_func_b.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_c.html b/html/functions_func_c.html
new file mode 100644
index 00000000..b3da58f8
--- /dev/null
+++ b/html/functions_func_c.html
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_d.html b/html/functions_func_d.html
new file mode 100644
index 00000000..bcf05dff
--- /dev/null
+++ b/html/functions_func_d.html
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_e.html b/html/functions_func_e.html
new file mode 100644
index 00000000..34280164
--- /dev/null
+++ b/html/functions_func_e.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_f.html b/html/functions_func_f.html
new file mode 100644
index 00000000..464fe535
--- /dev/null
+++ b/html/functions_func_f.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_g.html b/html/functions_func_g.html
new file mode 100644
index 00000000..899390c6
--- /dev/null
+++ b/html/functions_func_g.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_h.html b/html/functions_func_h.html
new file mode 100644
index 00000000..b24279e7
--- /dev/null
+++ b/html/functions_func_h.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_i.html b/html/functions_func_i.html
new file mode 100644
index 00000000..32c21629
--- /dev/null
+++ b/html/functions_func_i.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_k.html b/html/functions_func_k.html
new file mode 100644
index 00000000..45852bce
--- /dev/null
+++ b/html/functions_func_k.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_l.html b/html/functions_func_l.html
new file mode 100644
index 00000000..f8e16f1c
--- /dev/null
+++ b/html/functions_func_l.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_m.html b/html/functions_func_m.html
new file mode 100644
index 00000000..a5ef2b3f
--- /dev/null
+++ b/html/functions_func_m.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_n.html b/html/functions_func_n.html
new file mode 100644
index 00000000..0a26e918
--- /dev/null
+++ b/html/functions_func_n.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_o.html b/html/functions_func_o.html
new file mode 100644
index 00000000..9f71ab9d
--- /dev/null
+++ b/html/functions_func_o.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_p.html b/html/functions_func_p.html
new file mode 100644
index 00000000..452ad531
--- /dev/null
+++ b/html/functions_func_p.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_r.html b/html/functions_func_r.html
new file mode 100644
index 00000000..63cdafa3
--- /dev/null
+++ b/html/functions_func_r.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_s.html b/html/functions_func_s.html
new file mode 100644
index 00000000..e08b5131
--- /dev/null
+++ b/html/functions_func_s.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_t.html b/html/functions_func_t.html
new file mode 100644
index 00000000..948725b8
--- /dev/null
+++ b/html/functions_func_t.html
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_u.html b/html/functions_func_u.html
new file mode 100644
index 00000000..9041bfcd
--- /dev/null
+++ b/html/functions_func_u.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_v.html b/html/functions_func_v.html
new file mode 100644
index 00000000..662d03f0
--- /dev/null
+++ b/html/functions_func_v.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_w.html b/html/functions_func_w.html
new file mode 100644
index 00000000..493ba0f1
--- /dev/null
+++ b/html/functions_func_w.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_func_~.html b/html/functions_func_~.html
new file mode 100644
index 00000000..18c8e9ad
--- /dev/null
+++ b/html/functions_func_~.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_g.html b/html/functions_g.html
new file mode 100644
index 00000000..3261bd72
--- /dev/null
+++ b/html/functions_g.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_h.html b/html/functions_h.html
new file mode 100644
index 00000000..f703b4c4
--- /dev/null
+++ b/html/functions_h.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_i.html b/html/functions_i.html
new file mode 100644
index 00000000..85693672
--- /dev/null
+++ b/html/functions_i.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_k.html b/html/functions_k.html
new file mode 100644
index 00000000..98b3901c
--- /dev/null
+++ b/html/functions_k.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_l.html b/html/functions_l.html
new file mode 100644
index 00000000..2d8ca2a6
--- /dev/null
+++ b/html/functions_l.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_m.html b/html/functions_m.html
new file mode 100644
index 00000000..e6c1a508
--- /dev/null
+++ b/html/functions_m.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_n.html b/html/functions_n.html
new file mode 100644
index 00000000..fb662768
--- /dev/null
+++ b/html/functions_n.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_o.html b/html/functions_o.html
new file mode 100644
index 00000000..6abbf5e0
--- /dev/null
+++ b/html/functions_o.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_p.html b/html/functions_p.html
new file mode 100644
index 00000000..645ea309
--- /dev/null
+++ b/html/functions_p.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_r.html b/html/functions_r.html
new file mode 100644
index 00000000..191d67c7
--- /dev/null
+++ b/html/functions_r.html
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_s.html b/html/functions_s.html
new file mode 100644
index 00000000..92bf3f42
--- /dev/null
+++ b/html/functions_s.html
@@ -0,0 +1,354 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_t.html b/html/functions_t.html
new file mode 100644
index 00000000..acf2ce17
--- /dev/null
+++ b/html/functions_t.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_type.html b/html/functions_type.html
new file mode 100644
index 00000000..62b722e7
--- /dev/null
+++ b/html/functions_type.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_u.html b/html/functions_u.html
new file mode 100644
index 00000000..94448e07
--- /dev/null
+++ b/html/functions_u.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_v.html b/html/functions_v.html
new file mode 100644
index 00000000..eee7fa36
--- /dev/null
+++ b/html/functions_v.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_vars.html b/html/functions_vars.html
new file mode 100644
index 00000000..b964fe62
--- /dev/null
+++ b/html/functions_vars.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_w.html b/html/functions_w.html
new file mode 100644
index 00000000..ff5812a3
--- /dev/null
+++ b/html/functions_w.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_y.html b/html/functions_y.html
new file mode 100644
index 00000000..b9f032dd
--- /dev/null
+++ b/html/functions_y.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/functions_~.html b/html/functions_~.html
new file mode 100644
index 00000000..e16ab1c1
--- /dev/null
+++ b/html/functions_~.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/group__power__save.html b/html/group__power__save.html
new file mode 100644
index 00000000..54d0f30d
--- /dev/null
+++ b/html/group__power__save.html
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+Enumerations | |
| enum | SleepDuration { + SLEEP_15_MS, +SLEEP_30_MS, +SLEEP_60_MS, +SLEEP_120_MS, + + SLEEP_250_MS, +SLEEP_500_MS, +SLEEP_1_SEC, +SLEEP_2_SEC, + + SLEEP_4_SEC, +SLEEP_8_SEC + + } |
| Duration to put the CPU to sleep with sleepFor(). More... | |
+Functions | |
| void | sleepFor (SleepDuration duration, uint8_t mode) |
| Puts the CPU to sleep for a specific duration.The analog to digital converter and the brown out detector will be disabled during sleep mode. More... | |
| +void | unusedPin (uint8_t pin) |
| Marks an I/O pin as unused.This function sets pin to be an input with pullups enabled, which will reduce power consumption compared to pins that are left floating. | |
The functions in this module assist with reducing power consumption on Arduino boards by disabling features that are not used or putting the device to sleep when it is inactive.
+| enum SleepDuration | +
Duration to put the CPU to sleep with sleepFor().
+Definition at line 38 of file PowerSave.h.
+ +| void sleepFor | +( | +SleepDuration | +duration, | +
| + | + | uint8_t | +mode | +
| + | ) | ++ |
Puts the CPU to sleep for a specific duration.The analog to digital converter and the brown out detector will be disabled during sleep mode.
+The mode parameter indicates the mode to use when the device is sleeping. The default is SLEEP_MODE_IDLE.
+ +Definition at line 132 of file PowerSave.cpp.
+ +
+ 1.8.6
+
+
+
diff --git a/html/hierarchy.html b/html/hierarchy.html
new file mode 100644
index 00000000..b4cd135f
--- /dev/null
+++ b/html/hierarchy.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
| Represents a monochrome bitmap within main memory | |
| Handle large dot matrix displays composed of LED's | |
| Blink a LED on a digital output pin | |
| Abstract base class for block ciphers | |
| Abstract base class for AES block ciphers | |
| AES block cipher with 128-bit keys | |
| AES block cipher with 192-bit keys | |
| AES block cipher with 256-bit keys | |
| Manage an array of LED's in a charlieplexed arrangement | |
| Chase LED's on output pins in a defined sequence | |
| Abstract base class for stream ciphers | |
| Concrete base class to assist with implementing CBC for 128-bit block ciphers | |
| Implementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers | |
| Concrete base class to assist with implementing CFB for 128-bit block ciphers | |
| Implementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers | |
| ChaCha stream cipher | |
| Concrete base class to assist with implementing CTR mode for 128-bit block ciphers | |
| Implementation of the Counter (CTR) mode for 128-bit block ciphers | |
| Concrete base class to assist with implementing OFB for 128-bit block ciphers | |
| Implementation of the Output Feedback (OFB) mode for 128-bit block ciphers | |
| Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19 | |
| Reading and writing EEPROM's from the 24LCXX family | |
| Manages a single data input/output field within a Form | |
| Field that manages the input of a boolean value | |
| Field that manages the input of an integer value | |
| Field that manages selection from a static list of items | |
| Field that displays a read-only text value | |
| Field that manages the display and editing of a time value | |
| Manager for a form containing data input/output fields | |
| Abstract base class for cryptographic hash algorithms | |
| BLAKE2b hash algorithm | |
| BLAKE2s hash algorithm | |
| SHA-1 hash algorithm | |
| SHA-256 hash algorithm | |
| SHA3-256 hash algorithm | |
| SHA3-512 hash algorithm | |
| SHA-512 hash algorithm | |
| Abstract base class for I2C master implementations | |
| Bit-banged implementation of an I2C master | |
| Manages the reception of RC-5 commands from an infrared remote control | |
| Keccak core sponge function | |
| Enhanced library for Freetronics 16x2 LCD shields | |
| Plays a melody on a digital output pin using tone() | |
| Abstract base class for random noise sources | |
| Processes the signal from a ring oscillator based noise source | |
| Processes the signal from a transistor-based noise source | |
| Pseudo random number generator suitable for cryptography | |
| Base class for realtime clock handlers | |
| Communicates with a DS1307 realtime clock chip via I2C | |
| Communicates with a DS3231 realtime clock chip via I2C | |
| Communicates with a DS3232 realtime clock chip via I2C | |
| Stores alarm information from a realtime clock chip | |
| Stores date information from a realtime clock chip | |
| Stores time information from a realtime clock chip |
+ 1.8.6
+
+
+
diff --git a/html/index.html b/html/index.html
new file mode 100644
index 00000000..02b8f383
--- /dev/null
+++ b/html/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This distribution contains a bunch of libraries and example applications that I have made for Arduino, covering a variety of tasks from blinking LED's to LCD's and RTC-based alarm clocks. They are distributed under the terms of the MIT license, with the source code available from github.
+For more information on these libraries, to report bugs, or to suggest improvements, please contact the author Rhys Weatherley via email.
+millis(). More information can be found on the Cryptographic Library page.
+tone().
+ 1.8.6
+
+
+
diff --git a/html/ir-dumpir_8dox.html b/html/ir-dumpir_8dox.html
new file mode 100644
index 00000000..f96ced0b
--- /dev/null
+++ b/html/ir-dumpir_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ir-snake_8dox.html b/html/ir-snake_8dox.html
new file mode 100644
index 00000000..eb0807d5
--- /dev/null
+++ b/html/ir-snake_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/ir_dumpir.html b/html/ir_dumpir.html
new file mode 100644
index 00000000..33c11893
--- /dev/null
+++ b/html/ir_dumpir.html
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This example uses the IRreceiver class to dump commands that are received from an infrared remote control that is compatible with the Philips RC-5 protocol. Commands are dumped to the serial port. The example needs a 3-pin infrared receiver connected to D2, GND, and 5V:
+
+The full source code for the example follows:
+
+ 1.8.6
+
+
+
diff --git a/html/ir_snake.html b/html/ir_snake.html
new file mode 100644
index 00000000..e727c261
--- /dev/null
+++ b/html/ir_snake.html
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
This example demonstrates the use of the DMD and IRreceiver classes. The full source code follows:
+
+ 1.8.6
+
+
+
diff --git a/html/irchip.jpg b/html/irchip.jpg
new file mode 100644
index 00000000..912f86b6
Binary files /dev/null and b/html/irchip.jpg differ
diff --git a/html/jquery.js b/html/jquery.js
new file mode 100644
index 00000000..6aa2e4c2
--- /dev/null
+++ b/html/jquery.js
@@ -0,0 +1,39 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4| t |
|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/lcd-helloworld_8dox.html b/html/lcd-helloworld_8dox.html
new file mode 100644
index 00000000..f2521d80
--- /dev/null
+++ b/html/lcd-helloworld_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/lcd_form.html b/html/lcd_form.html
new file mode 100644
index 00000000..53e0cff2
--- /dev/null
+++ b/html/lcd_form.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
The Form and Field classes simplify the process of building user interfaces for Arduino projects that use a Freetronics LCD shield. That shield has a 16x2 LCD display and five buttons for Up, Down, Left, Right, and Select.
+The user interface is organised as a "form" which consists of one or more "fields" that display or modify a single program parameter. The Left and Right buttons are used to navigate between fields, and the Up and Down buttons are used to modify the value of the currently-displayed field.
+
+We start by including the classes from the library that we will need:
+Next, we initialize the LCD display, create the main form, and populate it with fields:
+Each field has a specific type, which may be one of the following classes:
+Returning to our example, the above code creates the following fields:
+welcomeField to display the program's name and version. timeField to display the number of seconds since reset, wrapping around after 24 hours. This field is read-only. volumeField which displays a volume between 0 and 100, with an Up/Down step of 5, and a suffix of "%". ledField which displays the current boolean state of the status LED on D13; the LED will change state when the user toggles the field's value. durationField which displays a read-write time field for selecting a duration between 0 and 24 hours.Now that we have defined our form, we need to initialize the program and show the form for the first time:
+An application can have multiple forms, but only one can be shown at any given time. To switch to another form, call Form::hide() on the old form and Form::show() on the new form.
+All that remains is to define our application's loop function which retrieves button events from LCD::getButton() and dispatches them to the form:
The full source code for the example follows:
+
+ 1.8.6
+
+
+
diff --git a/html/lcd_hello_world.html b/html/lcd_hello_world.html
new file mode 100644
index 00000000..991a111f
--- /dev/null
+++ b/html/lcd_hello_world.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
The LCD class provides an enhanced version of the standard Arduino LiquidCrystal library that supports the additional features of the Freetronics LCD shield; namely the back light and the Up, Down, Left, Right, and Select buttons. This tutorial explains how to use the LCD class to perform basic text output and to use the enhanced shield features.
+
+We start by including the library and initializing it:
+Unlike the LiquidCrystal library we don't normally need to specify the pin assignments for this shield. The one exception is when the shield is used with the USBDroid and the D9 pin is reassigned as described on this page. In that case, the initialization sequence would look something like this instead:
+The next step is to enable the screen saver and print some text in the setup function:
The screen saver is a built-in feature of the LCD class that turns off the display and the back light after a specific timeout (the default is 10 seconds). Pressing any of the keys on the shield or calling LCD::display() will wake up the screen again.
+In the program's loop function we print the number of seconds since startup to the second line of the LCD display:
We then print the name of the button that is currently pressed:
+The LCD::getButton() function returns the key that has been pressed or released, or LCD_BUTTON_NONE if no key has been pressed or released this time through the loop.
+The full source code for the example follows:
+
+ 1.8.6
+
+
+
diff --git a/html/mainpage_8dox.html b/html/mainpage_8dox.html
new file mode 100644
index 00000000..49e453b1
--- /dev/null
+++ b/html/mainpage_8dox.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/modules.html b/html/modules.html
new file mode 100644
index 00000000..98d71dba
--- /dev/null
+++ b/html/modules.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/nav_f.png b/html/nav_f.png
new file mode 100644
index 00000000..72a58a52
Binary files /dev/null and b/html/nav_f.png differ
diff --git a/html/nav_g.png b/html/nav_g.png
new file mode 100644
index 00000000..2093a237
Binary files /dev/null and b/html/nav_g.png differ
diff --git a/html/nav_h.png b/html/nav_h.png
new file mode 100644
index 00000000..33389b10
Binary files /dev/null and b/html/nav_h.png differ
diff --git a/html/open.png b/html/open.png
new file mode 100644
index 00000000..30f75c7e
Binary files /dev/null and b/html/open.png differ
diff --git a/html/pages.html b/html/pages.html
new file mode 100644
index 00000000..d3022691
--- /dev/null
+++ b/html/pages.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
+ 1.8.6
+
+
+
diff --git a/html/radio_controller.png b/html/radio_controller.png
new file mode 100644
index 00000000..6325bf40
Binary files /dev/null and b/html/radio_controller.png differ
diff --git a/html/ring_oscillator.png b/html/ring_oscillator.png
new file mode 100644
index 00000000..c0939bc3
Binary files /dev/null and b/html/ring_oscillator.png differ
diff --git a/html/ring_oscillator_basic.png b/html/ring_oscillator_basic.png
new file mode 100644
index 00000000..896fe0ac
Binary files /dev/null and b/html/ring_oscillator_basic.png differ
diff --git a/html/ring_oscillator_multi.png b/html/ring_oscillator_multi.png
new file mode 100644
index 00000000..d8324d6f
Binary files /dev/null and b/html/ring_oscillator_multi.png differ
diff --git a/html/ring_oscillator_sampled.png b/html/ring_oscillator_sampled.png
new file mode 100644
index 00000000..0cd3d071
Binary files /dev/null and b/html/ring_oscillator_sampled.png differ
diff --git a/html/search/all_0.html b/html/search/all_0.html
new file mode 100644
index 00000000..17b6da85
--- /dev/null
+++ b/html/search/all_0.html
@@ -0,0 +1,26 @@
+
+|
+ ArduinoLibs
+
+ |
+
Stores alarm information from a realtime clock chip. + More...
+ +#include <RTC.h>
+Public Attributes | |
| uint8_t | day |
| Day of the month for the alarm if not zero. More... | |
| uint8_t | dow |
| Day of the week for the alarm if not zero. More... | |
| +uint8_t | hour |
| Hour of the day for the alarm (0-23). | |
| +uint8_t | minute |
| Minute of the hour for the alarm (0-59). | |
| uint8_t | second |
| Second of the minute for the alarm (0-59). More... | |
| uint8_t | flags |
| Additional flags for the alarm. More... | |
Stores alarm information from a realtime clock chip.
+ + + +| RTCAlarm::day | +
| RTCAlarm::dow | +
| RTCAlarm::flags | +
| RTCAlarm::second | +
+ 1.8.6
+
+
+
diff --git a/html/structRTCDate.html b/html/structRTCDate.html
new file mode 100644
index 00000000..d3bcd4d5
--- /dev/null
+++ b/html/structRTCDate.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Stores date information from a realtime clock chip. + More...
+ +#include <RTC.h>
+Public Attributes | |
| +unsigned int | year |
| Year (4-digit) | |
| +uint8_t | month |
| Month of the year (1-12) | |
| +uint8_t | day |
| Day of the month (1-31) | |
Stores date information from a realtime clock chip.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/structRTCTime.html b/html/structRTCTime.html
new file mode 100644
index 00000000..94218e81
--- /dev/null
+++ b/html/structRTCTime.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+|
+ ArduinoLibs
+
+ |
+
Stores time information from a realtime clock chip. + More...
+ +#include <RTC.h>
+Public Attributes | |
| +uint8_t | hour |
| Hour of the day (0-23) | |
| +uint8_t | minute |
| Minute within the hour (0-59) | |
| +uint8_t | second |
| Second within the minute (0-59) | |
Stores time information from a realtime clock chip.
+ + + +
+ 1.8.6
+
+
+
diff --git a/html/sync_off.png b/html/sync_off.png
new file mode 100644
index 00000000..3b443fc6
Binary files /dev/null and b/html/sync_off.png differ
diff --git a/html/sync_on.png b/html/sync_on.png
new file mode 100644
index 00000000..e08320fb
Binary files /dev/null and b/html/sync_on.png differ
diff --git a/html/tab_a.png b/html/tab_a.png
new file mode 100644
index 00000000..3b725c41
Binary files /dev/null and b/html/tab_a.png differ
diff --git a/html/tab_b.png b/html/tab_b.png
new file mode 100644
index 00000000..e2b4a863
Binary files /dev/null and b/html/tab_b.png differ
diff --git a/html/tab_h.png b/html/tab_h.png
new file mode 100644
index 00000000..fd5cb705
Binary files /dev/null and b/html/tab_h.png differ
diff --git a/html/tab_s.png b/html/tab_s.png
new file mode 100644
index 00000000..ab478c95
Binary files /dev/null and b/html/tab_s.png differ
diff --git a/html/tabs.css b/html/tabs.css
new file mode 100644
index 00000000..9cf578f2
--- /dev/null
+++ b/html/tabs.css
@@ -0,0 +1,60 @@
+.tabs, .tabs2, .tabs3 {
+ background-image: url('tab_b.png');
+ width: 100%;
+ z-index: 101;
+ font-size: 13px;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+.tabs2 {
+ font-size: 10px;
+}
+.tabs3 {
+ font-size: 9px;
+}
+
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
+}
+
+.tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_b.png');
+ line-height: 36px;
+ list-style: none;
+}
+
+.tablist a {
+ display: block;
+ padding: 0 20px;
+ font-weight: bold;
+ background-image:url('tab_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color: #283A5D;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+ outline: none;
+}
+
+.tabs3 .tablist a {
+ padding: 0 10px;
+}
+
+.tablist a:hover {
+ background-image: url('tab_h.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ text-decoration: none;
+}
+
+.tablist li.current a {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/html/transistor_noise_source.png b/html/transistor_noise_source.png
new file mode 100644
index 00000000..7356074a
Binary files /dev/null and b/html/transistor_noise_source.png differ