Browse Source

Commit v1

main
scayac 8 months ago
commit
9552918d8d
  1. 9
      .gitignore
  2. 10
      .vscode/extensions.json
  3. 1501
      build/firmware.hex
  4. 1
      build/upload.sh
  5. 39
      include/README
  6. 73
      lib/MD_MAX72XX/.gitignore
  7. 2846
      lib/MD_MAX72XX/Doxyfile.dox
  8. BIN
      lib/MD_MAX72XX/Font Builder/Excel/Parola MD_MAX72xx Font Builder v2.xlsm
  9. 2118
      lib/MD_MAX72XX/Font Builder/LCD5x7_fixed_single.txt
  10. 2449
      lib/MD_MAX72XX/Font Builder/arabic_var_single.txt
  11. 681
      lib/MD_MAX72XX/Font Builder/greek_var_single.txt
  12. 908
      lib/MD_MAX72XX/Font Builder/katakana_var_single.txt
  13. 11
      lib/MD_MAX72XX/Font Builder/make_font.bat
  14. 1440
      lib/MD_MAX72XX/Font Builder/modernArabic_var_single.txt
  15. 458
      lib/MD_MAX72XX/Font Builder/seg7_fixed_double.txt
  16. 259
      lib/MD_MAX72XX/Font Builder/seg7_fixed_single.txt
  17. 1
      lib/MD_MAX72XX/Font Builder/src/.mbedignore
  18. 280
      lib/MD_MAX72XX/Font Builder/src/font2txt/font2txt.c
  19. 71
      lib/MD_MAX72XX/Font Builder/src/font2txt/txt2font.h
  20. 376
      lib/MD_MAX72XX/Font Builder/src/txt2font/txt2font.c
  21. 71
      lib/MD_MAX72XX/Font Builder/src/txt2font/txt2font.h
  22. 995
      lib/MD_MAX72XX/Font Builder/symbol_var_single.txt
  23. 2543
      lib/MD_MAX72XX/Font Builder/sys_fixed_single.txt
  24. 1684
      lib/MD_MAX72XX/Font Builder/sys_var_double.txt
  25. 2261
      lib/MD_MAX72XX/Font Builder/sys_var_single.txt
  26. BIN
      lib/MD_MAX72XX/Font Builder/txt2font.executable
  27. 29
      lib/MD_MAX72XX/ISSUE_TEMPLATE.md
  28. 502
      lib/MD_MAX72XX/LICENSE
  29. 29
      lib/MD_MAX72XX/PULL_REQUEST.md
  30. 13
      lib/MD_MAX72XX/README.md
  31. 0
      lib/MD_MAX72XX/docs/.nojekyll
  32. BIN
      lib/MD_MAX72XX/docs/Circuit_Schematic.jpg
  33. BIN
      lib/MD_MAX72XX/docs/FC-16_Module.jpg
  34. BIN
      lib/MD_MAX72XX/docs/FC-16_conn.jpg
  35. BIN
      lib/MD_MAX72XX/docs/Generic_Module.png
  36. BIN
      lib/MD_MAX72XX/docs/Generic_conn.jpg
  37. BIN
      lib/MD_MAX72XX/docs/ICStation_Module.jpg
  38. BIN
      lib/MD_MAX72XX/docs/ICStation_conn.jpg
  39. BIN
      lib/MD_MAX72XX/docs/MajicDesigns_Logo.png
  40. BIN
      lib/MD_MAX72XX/docs/Modules_conn.jpg
  41. BIN
      lib/MD_MAX72XX/docs/PCB_Layout.jpg
  42. BIN
      lib/MD_MAX72XX/docs/Parola_Module.png
  43. 133
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp.html
  44. 12
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp__incl.map
  45. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp__incl.md5
  46. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp__incl.png
  47. 201
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h.html
  48. 9
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h.js
  49. 17
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__dep__incl.map
  50. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__dep__incl.md5
  51. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__dep__incl.png
  52. 7
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__incl.map
  53. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__incl.md5
  54. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__incl.png
  55. 133
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp.html
  56. 12
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp__incl.map
  57. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp__incl.md5
  58. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp__incl.png
  59. 150
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp.html
  60. 4
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp.js
  61. 12
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp__incl.map
  62. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp__incl.md5
  63. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp__incl.png
  64. 273
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h.html
  65. 32
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h.js
  66. 11
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__dep__incl.map
  67. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__dep__incl.md5
  68. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__dep__incl.png
  69. 9
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__incl.map
  70. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__incl.md5
  71. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__incl.png
  72. 133
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp.html
  73. 5
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp.js
  74. 12
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp__incl.map
  75. 1
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp__incl.md5
  76. BIN
      lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp__incl.png
  77. 111
      lib/MD_MAX72XX/docs/annotated.html
  78. 4
      lib/MD_MAX72XX/docs/annotated_dup.js
  79. BIN
      lib/MD_MAX72XX/docs/bc_s.png
  80. BIN
      lib/MD_MAX72XX/docs/bc_sd.png
  81. BIN
      lib/MD_MAX72XX/docs/bdwn.png
  82. 184
      lib/MD_MAX72XX/docs/class_m_d___m_a_x72_x_x-members.html
  83. 1843
      lib/MD_MAX72XX/docs/class_m_d___m_a_x72_x_x.html
  84. 82
      lib/MD_MAX72XX/docs/class_m_d___m_a_x72_x_x.js
  85. 112
      lib/MD_MAX72XX/docs/classes.html
  86. BIN
      lib/MD_MAX72XX/docs/closed.png
  87. 129
      lib/MD_MAX72XX/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html
  88. 9
      lib/MD_MAX72XX/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js
  89. BIN
      lib/MD_MAX72XX/docs/doc.png
  90. 12
      lib/MD_MAX72XX/docs/doc.svg
  91. BIN
      lib/MD_MAX72XX/docs/docd.png
  92. 12
      lib/MD_MAX72XX/docs/docd.svg
  93. 2045
      lib/MD_MAX72XX/docs/doxygen.css
  94. BIN
      lib/MD_MAX72XX/docs/doxygen.png
  95. 28
      lib/MD_MAX72XX/docs/doxygen.svg
  96. 192
      lib/MD_MAX72XX/docs/dynsections.js
  97. 117
      lib/MD_MAX72XX/docs/files.html
  98. 4
      lib/MD_MAX72XX/docs/files.js
  99. 4
      lib/MD_MAX72XX/docs/files_dup.js
  100. BIN
      lib/MD_MAX72XX/docs/folderclosed.png
  101. Some files were not shown because too many files have changed in this diff Show More

9
.gitignore vendored

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch
.pioenvs
.piolibdeps
.clang_complete
.gcc-flags.json

10
.vscode/extensions.json vendored

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

1501
build/firmware.hex

File diff suppressed because it is too large Load Diff

1
build/upload.sh

@ -0,0 +1 @@ @@ -0,0 +1 @@
avrdude -v -patmega2560 -cwiring -P/dev/ttyUSB0 -b115200 -D -Uflash:w:firmware.hex:i

39
include/README

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

73
lib/MD_MAX72XX/.gitignore vendored

@ -0,0 +1,73 @@ @@ -0,0 +1,73 @@
#OS junk files
[Tt]humbs.db
*.DS_Store
#.gitignore
#dOxygen project documentation and related files
#[Dd]oc/html/
#[Mm]edia/photo/
[Mm]edia/music/
[Mm]edia/video/
#Stuff
*.zip
#Visual Studio files
*.sln
*.vcxproj
*.filters
*.vsarduino.h
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.opensdf
*.unsuccessfulbuild
*.vmps.xml
ipch/
[Oo]bj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
.vs/
#Video files
*.mov
*.mp3
*.mp4
*.wlmp
#Pelles C files
*.ppj
*.tag
*.ppx
#Additional Atmel Studio files
*.atsln
*.atsuo
*.cppproj
#Project files
[Bb]uild/
# Office Temp Files
~$*
# visual studio database projects
*.dbmdl

2846
lib/MD_MAX72XX/Doxyfile.dox

File diff suppressed because it is too large Load Diff

BIN
lib/MD_MAX72XX/Font Builder/Excel/Parola MD_MAX72xx Font Builder v2.xlsm

Binary file not shown.

2118
lib/MD_MAX72XX/Font Builder/LCD5x7_fixed_single.txt

File diff suppressed because it is too large Load Diff

2449
lib/MD_MAX72XX/Font Builder/arabic_var_single.txt

File diff suppressed because it is too large Load Diff

681
lib/MD_MAX72XX/Font Builder/greek_var_single.txt

@ -0,0 +1,681 @@ @@ -0,0 +1,681 @@
.NAME greek_var_single
.FONT_HEIGHT 8
.HEIGHT 1
.WIDTH 0
.CHAR 32
.NOTE 'space'
.WIDTH 2
.CHAR 33
.WIDTH 0
.CHAR 128
.NOTE 'ALPHA'
*
* *
* *
*****
* *
* *
* *
.CHAR 129
.NOTE 'BETA'
****
* *
* *
****
* *
* *
****
.CHAR 130
.NOTE 'GAMMA'
*****
* *
*
*
*
*
*
.CHAR 131
.NOTE 'DELTA'
*
* *
* *
* *
* *
* *
*****
.CHAR 132
.NOTE 'EPSILON'
*****
*
*
****
*
*
*****
.CHAR 133
.NOTE 'ZETA'
*****
* *
*
*
*
* *
*****
.CHAR 134
.NOTE 'ETA'
* *
* *
* *
*****
* *
* *
* *
.CHAR 135
.NOTE 'THETA'
***
* *
* *
*****
* *
* *
***
.CHAR 136
.NOTE 'IOTA'
***
*
*
*
*
*
***
.CHAR 137
.NOTE 'KAPPA'
* *
* *
* *
**
* *
* *
* *
.CHAR 138
.NOTE 'LAMBDA'
*
* *
* *
* *
* *
* *
* *
.CHAR 139
.NOTE 'MU'
* *
** **
* * *
* * *
* *
* *
* *
.CHAR 140
.NOTE 'NU'
* *
** *
* * *
* **
* *
* *
* *
.CHAR 141
.NOTE 'XI'
*****
* *
***
* *
*****
.CHAR 142
.NOTE 'OMICRON'
***
* *
* *
* *
* *
* *
***
.CHAR 143
.NOTE 'PI'
*****
* *
* *
* *
* *
* *
* *
.CHAR 144
.NOTE 'RHO'
****
* *
* *
****
*
*
*
.CHAR 145
.NOTE 'SIGMA'
*****
* *
*
*
*
* *
*****
.CHAR 146
.NOTE 'TAU'
*****
* * *
*
*
*
*
*
.CHAR 147
.NOTE 'UPSILON'
* *
* *
* *
* *
*
*
*
.CHAR 148
.NOTE 'PHI'
***
*
***
* * *
***
*
***
.CHAR 149
.NOTE 'CHI'
* *
* *
* *
*
* *
* *
* *
.CHAR 150
.NOTE 'PSI'
* * *
* * *
* * *
***
*
*
*
.CHAR 151
.NOTE 'OMEGA'
***
* *
* *
* *
* *
* *
** **
.CHAR 152
.NOTE 'alpha'
*
* * *
* *
* *
** *
.CHAR 153
.NOTE 'beta'
**
* *
***
* *
***
*
.CHAR 154
.NOTE 'gamma'
* *
* *
*
* *
* *
*
.CHAR 155
.NOTE 'delta'
**
*
*
**
* *
* *
**
.CHAR 156
.NOTE 'epsilon'
***
*
**
*
***
.CHAR 157
.NOTE 'zeta'
****
*
*
*
***
*
**
.CHAR 158
.NOTE 'eta'
* *
** *
* *
* *
* *
*
.CHAR 159
.NOTE 'theta'
***
* *
*****
* *
***
.CHAR 160
.NOTE 'iota'
*
*
*
* *
**
.CHAR 161
.NOTE 'kappa'
* *
* *
**
* *
* *
.CHAR 162
.NOTE 'lambda'
**
* *
*
** *
* **
* *
* *
.CHAR 163
.NOTE 'mu'
* *
* *
* **
*** *
* *
*
.CHAR 164
.NOTE 'nu'
* *
* *
* *
* *
*
.CHAR 165
.NOTE 'xi'
***
*
***
*
***
*
*
.CHAR 166
.NOTE 'omicron'
***
* *
* *
* *
***
.CHAR 167
.NOTE 'pi'
*****
* *
* *
* *
* *
.CHAR 168
.NOTE 'rho'
**
* *
* *
***
*
*
.CHAR 169
.NOTE 'sigma'
****
* *
* *
* *
**
.CHAR 170
.NOTE 'sigma (final)'
****
*
***
*
****
.CHAR 171
.NOTE 'tau'
*****
*
*
*
*
.CHAR 172
.NOTE 'upsilon'
* *
* *
* *
* *
***
.CHAR 173
.NOTE 'phi'
*
* * *
* * *
***
*
*
.CHAR 174
.NOTE 'chi'
* *
* *
*
* *
* *
.CHAR 175
.NOTE 'psi'
* * *
* * *
***
*
*
.CHAR 224
.NOTE 'omega'
* *
* *
* * *
* * *
* *
.CHAR 225
.NOTE 'alpha tonos'
*
*
* * *
* *
* *
** *
.CHAR 226
.NOTE 'epsilon tonos'
*
***
*
**
*
***
.CHAR 227
.NOTE 'eta tonos'
*
* *
** *
* *
* *
* *
*
.CHAR 228
.NOTE 'iota dialytika'
* *
*
*
*
* *
**
.CHAR 229
.NOTE 'iota tonos'
*
*
*
*
* *
**
.CHAR 230
.NOTE 'omicron tonos'
*
***
* *
* *
* *
***
.CHAR 231
.NOTE 'upsilon tonos'
*
* *
* *
* *
* *
***
.CHAR 232
.NOTE 'upsilon dialytika'
* *
* *
* *
* *
* *
***
.CHAR 233
.NOTE 'omega tonos'
*
* *
* *
* * *
* * *
* *
.CHAR 234
.NOTE 'ALPHA tonos'
* *
* *
* *
*****
* *
* *
* *
.CHAR 235
.NOTE 'EPSILON'
*****
*
*
****
*
*
*****
.CHAR 236
.NOTE 'ETA tonos'
** *
* *
* *
*****
* *
* *
* *
.CHAR 237
.NOTE 'IOTA tonos'
* **
* *
*
*
*
*
***
.CHAR 238
.NOTE 'OMICRON tonos'
* **
* *
* *
* *
* *
* *
***
.CHAR 239
.NOTE 'UPSILON tonos'
* *
* *
* *
* *
*
*
*
.CHAR 240
.NOTE 'OMEGA tonos'
* ***
* *
* *
* *
* *
* *
** **
.CHAR 244
.NOTE 'IOTA dialytika'
* *
***
*
*
*
***
.CHAR 245
.NOTE 'UPSILON dialytika'
* *
* *
* *
* *
*
*
.END

908
lib/MD_MAX72XX/Font Builder/katakana_var_single.txt

@ -0,0 +1,908 @@ @@ -0,0 +1,908 @@
.NAME katakana_var_single
.FONT_HEIGHT 8
.HEIGHT 1
.WIDTH 0
.CHAR 32
.WIDTH 2
.NOTE 'space'
.CHAR 33
.WIDTH 0
.CHAR 161
***
* *
***
.CHAR 162
***
*
*
*
.CHAR 163
*
*
*
***
.CHAR 164
*
*
*
.CHAR 165
.NOTE 'Center dot'
**
**
.CHAR 166
.NOTE 'wo'
*****
*
*****
*
*
*
.CHAR 167
*****
*
*
**
*
*
.CHAR 168
*
*
**
* *
* *
*
.CHAR 169
*
*****
* *
*
**
.CHAR 170
*****
*
*
*****
.CHAR 171
*
*****
**
* *
* *
.CHAR 172
*
*****
* *
* *
*
.CHAR 173
***
*
*
*****
.CHAR 174
*****
*
*****
*
*****
.CHAR 175
* * *
* * *
*
**
.CHAR 176
.NOTE 'Extender'
*****
.CHAR 177
.NOTE 'a'
*****
*
* *
**
*
*
*
.CHAR 178
.NOTE 'i'
*
*
*
**
* *
*
*
.CHAR 179
.NOTE 'u'
*
*****
* *
* *
*
*
*
.CHAR 180
.NOTE 'e'
*****
*
*
*
*
*****
.CHAR 181
.NOTE 'o'
*
*****
*
**
* *
* *
*
.CHAR 182
.NOTE 'ka'
*
*****
* *
* *
* *
* *
* *
.CHAR 183
.NOTE 'ki'
*
*****
*
*****
*
*
*
.CHAR 184
.NOTE 'ku'
****
* *
* *
*
*
**
.CHAR 185
.NOTE 'ke'
*
****
* *
*
*
*
*
.CHAR 186
.NOTE 'ko'
*****
*
*
*
*
*****
.CHAR 187
.NOTE 'sa'
* *
*****
* *
* *
*
*
*
.CHAR 188
.NOTE 'shi'
**
*
** *
*
*
***
.CHAR 189
.NOTE 'su'
*****
*
*
*
* *
* *
.CHAR 190
.NOTE 'se'
*
*****
* *
* *
*
*
***
.CHAR 191
.NOTE 'so'
* *
* *
* *
*
*
**
.CHAR 192
.NOTE 'ta'
****
* *
* * *
**
*
**
.CHAR 193
.NOTE 'chi'
*
***
*
*****
*
*
*
.CHAR 194
.NOTE 'tsu'
* * *
* * *
* * *
*
*
*
.CHAR 195
.NOTE 'te'
***
*****
*
*
*
*
.CHAR 196
.NOTE 'to'
*
*
*
**
* *
*
*
.CHAR 197
.NOTE 'na'
*
*
*****
*
*
*
*
.CHAR 198
.NOTE 'ni'
***
*****
.CHAR 199
.NOTE 'nu'
*****
*
* *
*
* *
*
.CHAR 200
.NOTE 'ne'
*
*****
*
*
***
* * *
*
.CHAR 201
.NOTE 'no'
*
*
*
*
*
*
*
.CHAR 202
.NOTE 'ha'
*
*
* *
* *
* *
* *
.CHAR 203
.NOTE 'hi'
*
* *
****
*
*
*
****
.CHAR 204
.NOTE 'fu'
*****
*
*
*
*
**
.CHAR 205
.NOTE 'he'
*
* *
*
*
*
.CHAR 206
.NOTE 'ho'
*
*****
*
*
* * *
* * *
*
.CHAR 207
.NOTE 'ma'
*****
*
*
* *
*
*
.CHAR 208
.NOTE 'mi'
****
****
*
***
*
.CHAR 209
.NOTE 'mu'
*
*
*
* *
*****
*
.CHAR 210
.NOTE 'me'
*
*
* *
*
* *
*
.CHAR 211
.NOTE 'mo'
*****
*
*****
*
*
***
.CHAR 212
.NOTE 'ye'
*
*
*****
* *
* *
*
*
.CHAR 213
.NOTE 'yu'
***
*
*
*
*
******
.CHAR 214
.NOTE 'yo'
*****
*
*****
*
*
*****
.CHAR 215
.NOTE 'ra'
***
*****
*
*
*
*
.CHAR 216
.NOTE 'ri'
* *
* *
* *
* *
*
*
*
.CHAR 217
.NOTE 'ru'
*
* *
* *
* * *
* * *
* **
.CHAR 218
.NOTE 're'
*
*
* *
* *
* *
**
.CHAR 219
.NOTE 'ro'
*****
* *
* *
* *
* *
*****
.CHAR 220
.NOTE 'wa'
*****
* *
* *
*
*
*
.CHAR 221
.NOTE 'n'
**
*
*
*
***
.CHAR 222
*
* *
*
.CHAR 223
***
* *
***
.CHAR 224
* *
* * *
* *
* *
** *
.CHAR 225
* *
***
*
****
* *
****
.CHAR 226
***
* *
****
* *
****
*
*
.CHAR 227
***
*
**
* *
***
.CHAR 228
* *
* *
* **
*** *
*
*
.CHAR 229
****
* *
* *
* *
***
.CHAR 230
**
* *
* *
****
*
*
.CHAR 231
****
* *
****
*
***
.CHAR 232
***
*
*
*
* *
*
.CHAR 233
*
** *
*
.CHAR 234
*
**
*
*
* *
**
.CHAR 235
* *
*
* *
.CHAR 236
*
***
* *
* * *
***
*
.CHAR 237
*
*
***
*
***
*
****
.CHAR 238
***
* **
** *
* *
* *
* *
.CHAR 239
* *
***
* *
* *
* *
***
.CHAR 240
* **
** *
* *
****
*
*
.CHAR 241
** *
* **
* *
****
*
*
.CHAR 242
***
* *
*****
* *
* *
* *
***
.CHAR 243
* **
* * *
** *
.CHAR 244
***
* *
* *
* *
** **
.CHAR 245
* *
* *
* *
* *
* **
** *
.CHAR 246
*****
*
*
*
*
*
*****
.CHAR 247
*****
* *
* *
* *
* *
* **
.CHAR 248
*****
* *
* *
*
* *
* *
.CHAR 249
* *
* *
****
*
***
.CHAR 250
*
****
*
*****
*
*
.CHAR 251
.NOTE 'Exit (jap)'
*****
*
****
* *
* *
.CHAR 252
.NOTE 'Entrance (jap)'
*****
* * *
*****
* *
* *
.CHAR 253
.NOTE 'divide'
*
*****
*
.CHAR 255
.NOTE '5x7 block'
*****
*****
*****
*****
*****
*****
*****
.END

11
lib/MD_MAX72XX/Font Builder/make_font.bat

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
txt2font arabic_var_single
txt2font greek_var_single
txt2font katakana_var_single
txt2font LCD5x7_fixed_single
txt2font modernArabic_var_single
txt2font seg7_fixed_double
txt2font seg7_fixed_single
txt2font symbol_var_single
txt2font sys_fixed_single
txt2font sys_var_double
txt2font sys_var_single

1440
lib/MD_MAX72XX/Font Builder/modernArabic_var_single.txt

File diff suppressed because it is too large Load Diff

458
lib/MD_MAX72XX/Font Builder/seg7_fixed_double.txt

@ -0,0 +1,458 @@ @@ -0,0 +1,458 @@
.NAME seg7_fixed_double
.FONT_HEIGHT 8
.HEIGHT 2
.WIDTH 2
.CHAR 32
.NOTE 'Space'
.CHAR 46
.NOTE '.'
**
**
.CHAR 58
.NOTE ':'
**
**
**
**
.CHAR 124
.NOTE '|'
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
.CHAR 48
.WIDTH 10
.NOTE '0'
******
********
** **
** **
** **
** **
** **
* *
* *
** **
** **
** **
** **
** **
********
******
.CHAR 49
.NOTE '1'
*
**
**
**
**
**
*
*
**
**
**
**
**
*
.CHAR 50
.NOTE '2'
******
********
**
**
**
**
**
*******
*******
**
**
**
**
**
********
******
.CHAR 51
.NOTE '3'
******
********
**
**
**
**
**
********
********
**
**
**
**
**
********
******
.CHAR 52
.NOTE '4'
* *
** **
** **
** **
** **
** **
********
*******
**
**
**
**
**
*
.CHAR 53
.NOTE '5'
******
********
**
**
**
**
**
*******
*******
**
**
**
**
**
********
******
.CHAR 54
.NOTE '6'
******
********
**
**
**
**
**
*******
********
** **
** **
** **
** **
** **
********
******
.CHAR 55
.NOTE '7'
******
********
**
**
**
**
**
*
*
**
**
**
**
**
*
.CHAR 56
.NOTE '8'
******
********
** **
** **
** **
** **
** **
********
********
** **
** **
** **
** **
** **
********
******
.CHAR 57
.NOTE '9'
******
********
** **
** **
** **
** **
** **
********
*******
**
**
**
**
**
********
******
.CHAR 65
.NOTE 'A'
******
********
** **
** **
** **
** **
** **
********
********
** **
** **
** **
** **
** **
* *
.CHAR 66
.NOTE 'B'
*
**
**
**
**
**
*******
********
** **
** **
** **
** **
** **
********
******
.CHAR 67
.NOTE 'C'
******
********
**
**
**
**
**
********
******
.CHAR 68
.NOTE 'D'
*
**
**
**
**
**
*******
********
** **
** **
** **
** **
** **
********
******
.CHAR 69
.NOTE 'E'
******
********
**
**
**
**
**
********
********
**
**
**
**
**
********
******
.CHAR 70
.NOTE 'F'
******
********
**
**
**
**
**
********
********
**
**
**
**
**
*
.CHAR 97
.NOTE 'a'
******
********
** **
** **
** **
** **
** **
********
********
** **
** **
** **
** **
** **
* *
.CHAR 98
.NOTE 'b'
*
**
**
**
**
**
*******
********
** **
** **
** **
** **
** **
********
******
.CHAR 99
.NOTE 'c'
******
********
**
**
**
**
**
********
******
.CHAR 100
.NOTE 'd'
*
**
**
**
**
**
*******
********
** **
** **
** **
** **
** **
********
******
.CHAR 101
.NOTE 'e'
******
********
**
**
**
**
**
********
********
**
**
**
**
**
********
******
.CHAR 102
.NOTE 'f'
******
********
**
**
**
**
**
********
********
**
**
**
**
**
*
.END

259
lib/MD_MAX72XX/Font Builder/seg7_fixed_single.txt

@ -0,0 +1,259 @@ @@ -0,0 +1,259 @@
.NAME seg7_fixed_single
.FONT_HEIGHT 8
.HEIGHT 1
.WIDTH 1
.CHAR 32
.NOTE 'Space'
.CHAR 46
.NOTE '.'
*
.CHAR 58
.NOTE ':'
*
*
.CHAR 124
.NOTE '|'
*
*
*
*
*
*
*
.CHAR 48
.WIDTH 5
.NOTE '0'
*****
* *
* *
* *
* *
* *
*****
.CHAR 49
.NOTE '1'
*
*
*
*
*
*
*
.CHAR 50
.NOTE '2'
*****
*
*
*****
*
*
*****
.CHAR 51
.NOTE '3'
*****
*
*
*****
*
*
*****
.CHAR 52
.NOTE '4'
* *
* *
* *
*****
*
*
*
.CHAR 53
.NOTE '5'
*****
*
*
*****
*
*
*****
.CHAR 54
.NOTE '6'
*****
*
*
*****
* *
* *
*****
.CHAR 55
.NOTE '7'
*****
*
*
*
*
*
*
.CHAR 56
.NOTE '8'
*****
* *
* *
*****
* *
* *
*****
.CHAR 57
.NOTE '9'
*****
* *
* *
*****
*
*
*****
.CHAR 65
.NOTE 'A'
*****
* *
* *
*****
* *
* *
* *
.CHAR 66
.NOTE 'B'
****
* *
* *
****
* *
* *
****
.CHAR 67
.NOTE 'C'
*****
*
*
*
*
*
*****
.CHAR 68
.NOTE 'D'
****
* *
* *
* *
* *
* *
****
.CHAR 69
.NOTE 'E'
*****
*
*
*****
*
*
*****
.CHAR 70
.NOTE 'F'
*****
*
*
*****
*
*
*
.CHAR 97
.NOTE 'a'
*****
* *
* *
*****
* *
* *
* *
.CHAR 98
.NOTE 'b'
****
* *
* *
****
* *
* *
****
.CHAR 99
.NOTE 'c'
*****
*
*
*
*
*
*****
.CHAR 100
.NOTE 'd'
****
* *
* *
* *
* *
* *
****
.CHAR 101
.NOTE 'e'
*****
*
*
*****
*
*
*****
.CHAR 102
.NOTE 'f'
*****
*
*
*****
*
*
*
.END

1
lib/MD_MAX72XX/Font Builder/src/.mbedignore

@ -0,0 +1 @@ @@ -0,0 +1 @@
*

280
lib/MD_MAX72XX/Font Builder/src/font2txt/font2txt.c

@ -0,0 +1,280 @@ @@ -0,0 +1,280 @@
// Font 2 Text for MD_MAX72xx library
//
// Quick and not very robust code to create a font defintion text file
// from an existing font data table. This is considered a one-off task
// followed by some manual editing of the file.
// The file is expected to be in the similar format to the output from
// txt2font. Specifically,
// - it is expected that each character is on one data line in order to
// recognise specific parts, like comments.
// - it expects all the ascii codes to be present (ie, it does not respect
// the version information at the start of the table)
//
// The shared header file means that some elements in this
// code are reversed (eg, the IN file extension is used as the OUT file
// extension). Each font element is output as it is completed, without
// buffering the while ASCII set.
//
#include "txt2font.h"
// Global data ---------------
Global_t G;
ASCIIDef_t font = { 0 };
// Code ----------------------
void usage(void)
{
printf("\nusage: font2txt <root_name>\n");
printf("\n\ninput file <root_name>.h");
printf("\noutput file <root_name>.txt");
printf("\n");
return;
}
int cmdLine(int argc, char *argv[])
// process the command line parameter
{
if (argc != 2)
return(1);
strcpy(G.fileRoot, argv[1]);
return(0);
}
int initialise(void)
// one time initiualisation code
{
char szFile[FILE_NAME_SIZE];
// we have no font definition
font.comment[0] = NUL;
font.size = 0;
font.buf = malloc(100*sizeof(font.buf[0])); // pick a big number...
// open the file for reading
strcpy(szFile, G.fileRoot);
strcat(szFile, OUT_FILE_EXT);
if ((G.fpIn = fopen(szFile, "r")) == NULL)
{
printf("\nCannot open input ""%s\n""", szFile);
return(2);
}
// open the file for writing
strcpy(szFile, G.fileRoot);
strcat(szFile, IN_FILE_EXT);
if ((G.fpOut = fopen(szFile, "w")) == NULL)
{
printf("\nCannot open output ""%s\n""", szFile);
return(3);
}
// other stuff
G.name[0] = NUL;
G.doubleHeight = 0;
G.bufSize = SINGLE_HEIGHT;
G.fixedWidth = 0;
return(0);
}
void trimBuffer(char *buf)
// trim the buffer specified of all trailing white space
{
int i = strlen(buf)-1;
while (i > 0 && isspace(buf[i]))
buf[i--] = NUL;
return;
}
void padBuffer(char *buf, unsigned int len)
// pad the supplied buffer with spaces up to the length specified
{
if (strlen(buf) < len)
{
for (unsigned int j=strlen(buf); j<len; j++)
buf[j] = SPACE;
}
buf[len] = NUL;
return;
}
unsigned int normaliseBuffers(void)
// normalise all the input buffers to the same size
{
unsigned int max = 0;
if (G.fixedWidth == 0)
{
for (unsigned int i=0; i<G.bufSize; i++)
max = max < strlen(G.buf[i]) ? max = strlen(G.buf[i]) : max;
}
else
max = G.fixedWidth;
// now make them all the same size
for (unsigned int i=0; i<G.bufSize; i++)
{
padBuffer(G.buf[i], max);
}
return(max);
}
char *getToken(char *buf)
// isolate the first token in the buffer and return a pointer to the next non white space after the token
{
while (isspace(*buf) || ispunct(*buf))
buf++;
while (!isspace(*buf) && !ispunct(*buf))
buf++;
*buf++ = NUL;
while (isspace(*buf) || ispunct(*buf))
buf++;
return(buf);
}
void saveOutputHeader(void)
// save the current definition as a font definition header file
{
fprintf(G.fpOut, "%c%s %s\n", DOT, CMD_NAME, G.fileRoot);
fprintf(G.fpOut, "%c%s %d\n", DOT, CMD_HEIGHT, (G.doubleHeight ? 2: 1));
fprintf(G.fpOut, "%c%s %d\n", DOT, CMD_WIDTH, G.fixedWidth);
fprintf(G.fpOut, "%c%s %d %s\n", DOT, CMD_FONTHIGH, G.fontHeight, "<- THIS NEEDS EDITING");
return;
}
void saveOutputFooter(void)
// save the current definition as a font definition header file
{
fprintf(G.fpOut, "%c%s\n", DOT, CMD_END);
return;
}
void saveOutputChar(void)
// Save a single character definition
{
fprintf(G.fpOut, "%c%s %d\n", DOT, CMD_CHAR, G.curCode);
fprintf(G.fpOut, "%c%s %s\n", DOT, CMD_NOTE, font.comment);
if (G.bufSize != 0)
{
for (unsigned int i=0; i<G.bufSize; i++)
{
trimBuffer(G.buf[i]);
fprintf(G.fpOut, "%s\n", G.buf[i]);
}
}
else // need at least one line
fprintf(G.fpOut, "\n");
return;
}
void createFontData(char *cp)
// the font defintions strings are column data, so each byte will be a 'vertical'
// stripe of the input buffers. Format is the size followed by size bytes of column data,
// separated by commas. The comment is found after the data in a '//' comment and following
// the first '-'.
{
char *cpNext;
cpNext = getToken(cp);
font.size = atoi(cp);
cp = cpNext;
// get all the data from the input into the font defintion
for (unsigned int i=0; i<font.size; i++)
{
// get the data
cpNext = getToken(cp);
font.buf[i] = atoi(cp);
cp = cpNext;
}
// unpack the column data into the text strings
// create each input string [j] in turn from the column definition [i] for the char
for (unsigned int i=0; i<SINGLE_HEIGHT; i++)
{
for (unsigned int j=0; j<font.size; j++)
G.buf[i][j] = (font.buf[j] & (1<<i)) ? STAR : SPACE;
G.buf[i][font.size] = NUL; // terminate the string
}
// save the comment - first search up to after the first '-'
while ((*cp != '-') && (*cp != NUL))
cp++;
if (cp != NUL) cp++;
strcpy(font.comment, cp);
return;
}
void processInput(void)
// read the input file and process line by line
{
char c, inLine[INPUT_BUFFER_SIZE];
// skip to the opening brace then skip end of line
do
c = getc(G.fpIn);
while ((c != EOF) && (c != '{'));
do
c = getc(G.fpIn);
while ((c == '\n') || (c == '\r'));
// now read each line in turn
while (!feof(G.fpIn) && (G.curCode < ASCII_SIZE))
{
fgets(inLine, sizeof(inLine), G.fpIn);
// if we have a blank line, get another one
trimBuffer(inLine);
if (strlen(inLine) == 0) continue;
// process the buffers into a font definition and write out what we have created
createFontData(inLine);
saveOutputChar();
// reset the font and character buffers, increment current ASCII code
for (unsigned int i=0; i<G.bufSize; i++)
G.buf[i][0] = NUL;
font.size = 0;
G.curCode++;
}
return;
}
int main(int argc, char *argv[])
{
int ret;
if (cmdLine(argc, argv))
{
usage();
return(1);
}
if ((ret = initialise()) != 0)
return(ret);
saveOutputHeader();
processInput();
saveOutputFooter();
// close files and exit
fclose(G.fpIn);
fclose(G.fpOut);
return(0);
}

71
lib/MD_MAX72XX/Font Builder/src/font2txt/txt2font.h

@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
/* Text 2 Font for MD_MAX72xx library
Quick and not very robust code to create a font definition data table for the
MD_MAX72xx library from a text file representation. The text file has '.' commands
to direct how the definition is structured.
This is a console application written in standard C.
Original target is Win32, but no OS dependencies, so should be portable to other OS.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#pragma once
#define NAME_SIZE 50
#define FILE_NAME_SIZE 200 // may include path
#define FONT_NAME_SIZE 50
#define COMMENT_SIZE 40
#define ASCII_SIZE 256
#define INPUT_BUFFER_SIZE 200
#define SINGLE_HEIGHT 8
#define DOUBLE_HEIGHT_OFFSET (ASCII_SIZE/2) // ASCII code offset
#define IN_FILE_EXT ".txt"
#define OUT_FILE_EXT ".h"
#define SPACE ' '
#define STAR '*'
#define NUL '\0'
#define DOT '.'
#define CMD_NAME "NAME"
#define CMD_FONTHIGH "FONT_HEIGHT"
#define CMD_HEIGHT "HEIGHT"
#define CMD_WIDTH "WIDTH"
#define CMD_CHAR "CHAR"
#define CMD_NOTE "NOTE"
#define CMD_END "END"
// Data types ----------------
typedef struct
{
// file handling
FILE *fpIn;
FILE *fpOut;
char fileRoot[FILE_NAME_SIZE];
// font definition header
char name[FONT_NAME_SIZE];
unsigned int doubleHeight; // 0 or 1
unsigned int fixedWidth; // 0 for variable, width otherwise
unsigned int fontHeight; // height in pixels, default to 8
// input buffers and tracking
unsigned int curCode; // the current ASCII character being processed
unsigned int curBuf; // the current buffer we are up to
unsigned int bufSize; // the number of buffers used
char buf[SINGLE_HEIGHT*2][INPUT_BUFFER_SIZE];
} Global_t, *pGlobal_t;
typedef struct
{
char comment[COMMENT_SIZE]; // comment for this character
unsigned int size; // number of valid
unsigned int *buf; // size bytes allocated from memory
} ASCIIDef_t, *pASCIIDef_t;

376
lib/MD_MAX72XX/Font Builder/src/txt2font/txt2font.c

@ -0,0 +1,376 @@ @@ -0,0 +1,376 @@
// Text 2 Font for MD_MAX72xx library
//
// Quick and not very robust code to create a font definition data table for the
// MD_MAX72xx library from a text file representation. The text file has '.' commands
// to direct how the definition is structured.
//
#include "txt2font.h"
//#define DEBUG
#define DECIMAL_DATA 0 // decimal or hex data selection in font tables
// Global data ---------------
Global_t G;
ASCIIDef_t font[ASCII_SIZE] = { 0 };
// Code ----------------------
void usage(void)
{
printf("\nusage: txt2font <root_name>\n");
printf("\n\ninput file <root_name>.txt");
printf("\noutput file <root_name>.h");
printf("\n");
return;
}
int cmdLine(int argc, char *argv[])
// process the command line parameter
{
if (argc != 2)
return(1);
strcpy(G.fileRoot, argv[1]);
return(0);
}
int initialise(void)
// one time initialisation code
{
char szFile[FILE_NAME_SIZE];
// we have no font definition
for (int i=0; i<ASCII_SIZE; i++)
{
font[i].comment[0] = NUL;
font[i].size = 0;
font[i].buf = NULL;
}
// open the file for reading
strcpy(szFile, G.fileRoot);
strcat(szFile, IN_FILE_EXT);
if ((G.fpIn = fopen(szFile, "r")) == NULL)
{
printf("\nCannot open input ""%s\n""", szFile);
return(2);
}
// open the file for writing
strcpy(szFile, G.fileRoot);
strcat(szFile, OUT_FILE_EXT);
if ((G.fpOut = fopen(szFile, "w")) == NULL)
{
printf("\nCannot open output ""%s\n""", szFile);
return(3);
}
// other stuff
G.name[0] = NUL;
G.doubleHeight = 0;
G.bufSize = SINGLE_HEIGHT;
G.fixedWidth = 0;
G.fontHeight = 8;
return(0);
}
void trimBuffer(char *buf)
// trim the buffer specified of all trailing white space
{
int i = strlen(buf)-1;
while (i > 0 && isspace(buf[i]))
buf[i--] = NUL;
return;
}
void padBuffer(char *buf, unsigned int len)
// pad the supplied buffer with spaces up to the length specified
{
if (strlen(buf) < len)
{
for (unsigned int j=strlen(buf); j<len; j++)
buf[j] = SPACE;
}
buf[len] = NUL;
return;
}
unsigned int normaliseBuffers(void)
// normalize all the input buffers to the same size
{
unsigned int max = 0;
if (G.fixedWidth == 0)
{
for (unsigned int i=0; i<G.bufSize; i++)
max = max < strlen(G.buf[i]) ? max = strlen(G.buf[i]) : max;
}
else
max = G.fixedWidth;
// now make them all the same size
for (unsigned int i=0; i<G.bufSize; i++)
{
padBuffer(G.buf[i], max);
}
return(max);
}
char *getToken(char *buf)
// isolate the first token in the buffer and return a pointer to the next non white space after the token
{
while (!isspace(*buf))
buf++;
*buf++ = NUL;
while (isspace(*buf))
buf++;
return(buf);
}
void createFontChar(void)
// the font definition strings are created as columns, so each byte will be a 'vertical'
// stripe of the input buffers.
{
font[G.curCode].size = normaliseBuffers(); // make everything the same length; this is the width of the character
// allocate memory for the font data
if (font[G.curCode].buf != NULL)
free(font[G.curCode].buf);
font[G.curCode].buf = malloc(font[G.curCode].size * sizeof(*font[0].buf));
// if double height, check the upper buffers and also copy the font data across
if (G.doubleHeight)
{
if (font[G.curCode+DOUBLE_HEIGHT_OFFSET].buf != NULL)
free(font[G.curCode+DOUBLE_HEIGHT_OFFSET].buf);
font[G.curCode+DOUBLE_HEIGHT_OFFSET].buf = malloc(font[G.curCode].size * sizeof(*font[0].buf));
font[G.curCode+DOUBLE_HEIGHT_OFFSET].size = font[G.curCode].size;
strcpy(font[G.curCode+DOUBLE_HEIGHT_OFFSET].comment, font[G.curCode].comment);
}
// process the input strings in parallel [j] to create the column definition [i] for the first character
for (unsigned int i=0; i<font[G.curCode].size; i++)
{
unsigned int colL, colH;
if (G.doubleHeight) // if we are double height, write lower and upper halves separately
{
colL = colH = 0;
// high half of character stored in upper ASCII value, but in low buffers
// low half of character stored in lower ASCII value, but in high buffers
for (unsigned int j=0; j<SINGLE_HEIGHT; j++)
{
colH |= (G.buf[j][i] == SPACE) ? 0 : (1 << j);
colL |= (G.buf[j+SINGLE_HEIGHT][i] == SPACE) ? 0 : (1 << j);
}
font[G.curCode+DOUBLE_HEIGHT_OFFSET].buf[i] = colH;
font[G.curCode].buf[i] = colL;
}
else
{
colL = 0;
for (unsigned int j=0; j<SINGLE_HEIGHT; j++)
colL |= (G.buf[j][i] == SPACE) ? 0 : (1 << j);
// save the column data
font[G.curCode].buf[i] = colL;
}
}
return;
}
void readInput(void)
// read the input file and process line by line
{
char c, *cp, inLine[INPUT_BUFFER_SIZE];
cp = inLine;
while ((c = getc(G.fpIn)) != EOF)
{
if (c != '\n' && c != '\r') // not end of line
{
*cp++ = c;
continue;
}
// we are at end of line, process the line
*cp = NUL;
trimBuffer(inLine);
if (inLine[0] != DOT) // not a command? must be a chr definition line
{
if (G.curBuf < (SINGLE_HEIGHT*2))
{
#ifdef DEBUG
printf("\nC%02x L%d\t%s", G.curCode, G.curBuf, inLine);
#endif
strcpy(G.buf[G.curBuf++], inLine); // save the buffer
}
}
else
{
cp = getToken(&inLine[1]);
#ifdef DEBUG
printf("\nToken: '%s' - '%s'", inLine, cp);
#endif
if (strcmp(&inLine[1], CMD_NAME) == 0)
{
strcpy(G.name, cp);
#ifdef DEBUG
printf("\tfont name: '%s'", G.name);
#endif
}
else if (strcmp(&inLine[1], CMD_FONTHIGH) == 0)
{
G.fontHeight = abs(atoi(cp));
#ifdef DEBUG
printf("\tfont height: %d", G.fontHeight);
#endif
}
else if (strcmp(&inLine[1], CMD_HEIGHT) == 0)
{
G.doubleHeight = (*cp=='1' ? 0 : 1);
G.bufSize = (*cp=='1' ? SINGLE_HEIGHT : SINGLE_HEIGHT*2);
#ifdef DEBUG
printf("\tdouble height: %d", G.doubleHeight);
#endif
}
else if (strcmp(&inLine[1], CMD_WIDTH) == 0)
{
G.fixedWidth = abs(atoi(cp));
#ifdef DEBUG
printf("\twidth: %d", G.fixedWidth);
#endif
}
else if ((strcmp(&inLine[1], CMD_CHAR) == 0) ||
(strcmp(&inLine[1], CMD_END) == 0))
{
#ifdef DEBUG
printf("\tend char %02x", G.curCode);
#endif
if (G.curBuf != 0) // we have buffers
{
// process the buffers into a font definition
createFontChar();
// reset the character buffers
for (unsigned int i=0; i<G.bufSize; i++)
G.buf[i][0] = NUL;
}
// set up the new character if not at the end
if (strcmp(&inLine[1], CMD_END) != 0)
{
G.curBuf = 0;
G.curCode = atoi(cp);
#ifdef DEBUG
printf("\t set up %02x", G.curCode);
#endif
if (G.curCode >= (G.doubleHeight ? ASCII_SIZE/2 : ASCII_SIZE))
{
G.curCode = 0;
#ifdef DEBUG
printf("\t - boundary check fail");
#endif
}
font[G.curCode].comment[0] = NUL;
font[G.curCode].size = 0;
}
#ifdef DEBUG
else
printf("\tend of definition");
#endif
}
else if (strcmp(&inLine[1], CMD_NOTE) == 0)
{
strcpy(font[G.curCode].comment, cp);
#ifdef DEBUG
printf("\tnote '%s' for char %02x", font[G.curCode].comment, G.curCode);
#endif
}
}
// reset for next line
cp = inLine;
memset(inLine, NUL, sizeof(inLine));
}
return;
}
void saveOutput(void)
// save the current definition as a font definition header file
{
unsigned int minAscii = 0, maxAscii = 0;
// first parse the font table to work out the min and max ASCII values
for (int i=0; i<ASCII_SIZE; i++)
if (font[i].buf != NULL) maxAscii = i;
for (int i=maxAscii; i>=0; i--)
if (font[i].buf != NULL) minAscii = i;
fprintf(G.fpOut, "// Autogenerated font - '%s'\n", G.name);
fprintf(G.fpOut, "// %s height, ", (G.doubleHeight ? "Double" : "Single"));
if (G.fixedWidth == 0)
fprintf(G.fpOut, "Variable spaced");
else
fprintf(G.fpOut, "Fixed width (%d)", G.fixedWidth);
fprintf(G.fpOut, "\n\n");
fprintf(G.fpOut, "#pragma once\n\n");
fprintf(G.fpOut, "const uint8_t PROGMEM _%s[] = \n{\n", (G.name[0] == NUL) ? "font" : G.name);
fprintf(G.fpOut, "'F', 1, %d, %d, %d,\n", minAscii, maxAscii, G.fontHeight);
for (int i=minAscii; i<=maxAscii; i++)
{
fprintf(G.fpOut, "\t%d,", font[i].size);
if (font[i].buf != NULL)
{
for (unsigned int j=0; j<font[i].size; j++)
fprintf(G.fpOut, (DECIMAL_DATA ? "%d," : "0x%02x,"), font[i].buf[j]);
}
fprintf(G.fpOut, "\t// %d", i);
if (font[i].comment[0] != NUL)
fprintf(G.fpOut," - %s", font[i].comment);
fprintf(G.fpOut, "\n");
}
fprintf(G.fpOut, "};\n\n");
}
int main(int argc, char *argv[])
{
int ret;
if (cmdLine(argc, argv))
{
usage();
return(1);
}
if ((ret = initialise()) != 0)
return(ret);
// read the input file
readInput();
// write the output file
saveOutput();
// close files and exit
fclose(G.fpIn);
fclose(G.fpOut);
return(0);
}

71
lib/MD_MAX72XX/Font Builder/src/txt2font/txt2font.h

@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
/* Text 2 Font for MD_MAX72xx library
Quick and not very robust code to create a font definition data table for the
MD_MAX72xx library from a text file representation. The text file has '.' commands
to direct how the definition is structured.
This is a console application written in standard C.
Original target is Win32, but no OS dependencies, so should be portable to other OS.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#pragma once
#define NAME_SIZE 50
#define FILE_NAME_SIZE 200 // may include path
#define FONT_NAME_SIZE 50
#define COMMENT_SIZE 40
#define ASCII_SIZE 256
#define INPUT_BUFFER_SIZE 200
#define SINGLE_HEIGHT 8
#define DOUBLE_HEIGHT_OFFSET (ASCII_SIZE/2) // ASCII code offset
#define IN_FILE_EXT ".txt"
#define OUT_FILE_EXT ".h"
#define SPACE ' '
#define STAR '*'
#define NUL '\0'
#define DOT '.'
#define CMD_NAME "NAME"
#define CMD_FONTHIGH "FONT_HEIGHT"
#define CMD_HEIGHT "HEIGHT"
#define CMD_WIDTH "WIDTH"
#define CMD_CHAR "CHAR"
#define CMD_NOTE "NOTE"
#define CMD_END "END"
// Data types ----------------
typedef struct
{
// file handling
FILE *fpIn;
FILE *fpOut;
char fileRoot[FILE_NAME_SIZE];
// font definition header
char name[FONT_NAME_SIZE];
unsigned int doubleHeight; // 0 or 1
unsigned int fixedWidth; // 0 for variable, width otherwise
unsigned int fontHeight; // height in pixels, default to 8
// input buffers and tracking
unsigned int curCode; // the current ASCII character being processed
unsigned int curBuf; // the current buffer we are up to
unsigned int bufSize; // the number of buffers used
char buf[SINGLE_HEIGHT*2][INPUT_BUFFER_SIZE];
} Global_t, *pGlobal_t;
typedef struct
{
char comment[COMMENT_SIZE]; // comment for this character
unsigned int size; // number of valid
unsigned int *buf; // size bytes allocated from memory
} ASCIIDef_t, *pASCIIDef_t;

995
lib/MD_MAX72XX/Font Builder/symbol_var_single.txt

@ -0,0 +1,995 @@ @@ -0,0 +1,995 @@
.NAME symbol_var_single
.FONT_HEIGHT 8
.HEIGHT 1
.WIDTH 0
.CHAR 0
.NOTE 'Arrow bent BL'
*
*
*****
* *
* *
*
*
.CHAR 1
.NOTE 'Arrow bent BR'
*
*
*****
* *
* *
*
*
.CHAR 2
.NOTE 'Arrow bent TL'
*
*
* *
* *
*****
*
*
.CHAR 3
.NOTE 'Arrow bent TR'
*
*
* *
* *
*****
*
*
.CHAR 4
.NOTE 'Arrow big L'
*
**
*******
********
*******
**
*
.CHAR 5
.NOTE 'Arrow big R'
*
**
*******
********
*******
**
*
.CHAR 6
.NOTE 'Arrow empty head L'
*
**
* **
*
* **
**
*
.CHAR 7
.NOTE 'Arrow empty head R'
*
**
** *
*
** *
**
*
.CHAR 8
.NOTE 'Arrow empty shaft'
**
**
.CHAR 9
.NOTE 'Arrow filled head L'
*
**
****
*****
****
**
*
.CHAR 10
.NOTE 'Arrow filled head R'
*
**
****
*****
****
**
*
.CHAR 11
.NOTE 'Arrow shaft'
********
********
.CHAR 12
.NOTE 'Arrow simple E'
*
*
*****
*
*
.CHAR 13
.NOTE 'Arrow simple N'
*
***
* * *
*
*
*
.CHAR 14
.NOTE 'Arrow simple NE'
****
**
* *
* *
*
.CHAR 15
.NOTE 'Arrow simple NS'
*
***
* * *
*
* * *
***
*
.CHAR 16
.NOTE 'Arrow simple NW'
****
**
* *
* *
*
.CHAR 17
.NOTE 'Arrow simple S'
*
*
*
* * *
***
*
.CHAR 18
.NOTE 'Arrow simple SE'
*
* *
* *
**
****
.CHAR 19
.NOTE 'Arrow simple SW'
*
* *
* *
**
****
.CHAR 20
.NOTE 'Arrow simple W'
*
*
*****
*
*
.CHAR 21
.NOTE 'Arrow simple WE'
* *
* *
*******
* *
* *
.CHAR 22
.NOTE 'Arrow tail closure'
*
*
*
.CHAR 23
.NOTE 'Arrow tail L'
* *
* *
* *
******
******
* *
* *
* *
.CHAR 24
.NOTE 'Arrow tail R'
* *
* *
* *
*****
*****
* *
* *
* *
.CHAR 25
.NOTE 'Ball empty'
****
* *
* *
* *
* *
****
.CHAR 26
.NOTE 'Ball filled'
****
******
******
******
******
****
.CHAR 27
.NOTE 'Bullet Point empty'
*
* *
* *
*
.CHAR 28
.NOTE 'Bullet Point empty rev'
*****
*****
** **
* * *
* * *
** **
*****
*****
.CHAR 29
.NOTE 'Bullet Point filled'
*
***
***
*
.CHAR 30
.NOTE 'Bullet Point filled rev'
*****
*****
** **
* *
* *
** **
*****
*****
.CHAR 31
.NOTE 'Deg C'
**
**
***
*
*
*
***
.CHAR 32
.NOTE 'Deg F'
**
**
****
*
***
*
*
.CHAR 33
.NOTE 'Diamond empty'
*
***
** **
** **
** **
***
*
.CHAR 34
.NOTE 'Diamond filled'
*
***
*****
*******
*****
***
*
.CHAR 35
.NOTE 'Icon bullet L'
*
*******
* *****
* *****
* *****
*******
*
.CHAR 36
.NOTE 'Icon bullet R'
*
*******
***** *
***** *
***** *
*******
*
.CHAR 37
.NOTE 'Icon cactus'
**
**
*****
********
***** **
** ** **
** **
**
.CHAR 38
.NOTE 'Icon card clubs'
***
* *
*****
* * *
*****
*
***
.CHAR 39
.NOTE 'Icon card diamond'
*
***
*****
*****
***
*
.CHAR 40
.NOTE 'Icon card heart'
* *
*****
*****
*****
***
*
.CHAR 41
.NOTE 'Icon card spades'
*
***
*****
*****
*****
*
***
.CHAR 42
.NOTE 'Icon gun'
* *****
******
****
*****
** *
**
.CHAR 43
.NOTE 'Icon gun bullets'
*
*
** ** **
** ** **
*
*
.CHAR 44
.NOTE 'Icon house'
**
****
******
********
**********
*** ***
*** ***
.CHAR 45
.NOTE 'Icon pacman'
*****
* *
* * *
* *
* *
* **
* *
*****
.CHAR 46
.NOTE 'Icon pacman ghost'
*****
* *
* * * *
* *
* *
*******
* * * *
* * * *
.CHAR 47
.NOTE 'Icon rocket'
*
***
* *
***
***
*****
*****
* * *
.CHAR 48
.NOTE 'Icon sex female'
***
* *
* *
***
*
*****
*
.CHAR 49
.NOTE 'Icon sex male'
***
**
*** *
* *
* *
**
.CHAR 50
.NOTE 'Icon smiley happy'
***
*****
* * *
*****
* *
** **
***
.CHAR 51
.NOTE 'Icon smiley sad'
***
*****
* * *
*****
** **
* *
***
.CHAR 52
.NOTE 'Icon snowflake'
* * *
** * **
****
** * *
* * **
****
** * **
* * *
.CHAR 53
.NOTE 'Icon telephone 1'
**
**
*
*
** *
***
.CHAR 54
.NOTE 'Icon telephone 2'
*****
** **
** *** **
* * *
* *** *
* * *
*******
.CHAR 55
.NOTE 'Icon tetris'
*
**** * *
**
* *
* ***
* *
* **
** * **
.CHAR 56
.NOTE 'Music note 1'
****
* *
****
*
*
**
**
.CHAR 57
.NOTE 'Music note 2'
****
* *
****
* *
* **
** **
**
.CHAR 58
.NOTE 'Music note 3'
*
**
* *
* *
**
***
**
.CHAR 59
.NOTE 'Pattern block bottom'
*****
*****
*****
*****
.CHAR 60
.NOTE 'Pattern block full'
********
********
********
********
********
********
********
********
.CHAR 61
.NOTE 'Pattern block L'
****
****
****
****
****
****
****
****
.CHAR 62
.NOTE 'Pattern block R'
****
****
****
****
****
****
****
****
.CHAR 63
.NOTE 'Pattern block top'
*****
*****
*****
*****
.CHAR 64
.NOTE 'Pattern box in box'
********
* *
* **** *
* * * *
* * * *
* **** *
* *
********
.CHAR 65
.NOTE 'Pattern carrots L'
* *
* *
* *
* *
* *
* *
* *
* *
.CHAR 66
.NOTE 'Pattern carrots R'
* *
* *
* *
* *
* *
* *
* *
* *
.CHAR 67
.NOTE 'Pattern chain link'
****
* *
*** ***
*** ***
* *
****
.CHAR 68
.NOTE 'Pattern check big'
** **
** **
** **
** **
** **
** **
** **
** **
.CHAR 69
.NOTE 'Pattern check edge big'
** **
** **
** **
** **
.CHAR 70
.NOTE 'Pattern check edge small'
* * * *
* * * *
* * * *
* * * *
.CHAR 71
.NOTE 'Pattern check small'
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
.CHAR 72
.NOTE 'Pattern round'
* ** *
* *
* *
* ** *
* ** *
* *
* *
* ** *
.CHAR 73
.NOTE 'Pattern spiral'
********
*
****** *
* * *
* * * *
* **** *
* *
********
.CHAR 74
.NOTE 'Pattern stripes diag L'
* * *
* * *
* *
* * *
* * *
* *
* * *
* * *
.CHAR 75
.NOTE 'Pattern stripes diag R'
* * *
* * *
* *
* * *
* * *
* *
* * *
* * *
.CHAR 76
.NOTE 'Pattern stripes H'
********
********
********
********
.CHAR 77
.NOTE 'Pattern stripes V'
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
.CHAR 78
.NOTE 'Pattern X'
* *
** **
* *
**
**
* *
** **
* *
.CHAR 79
.NOTE 'Pointer big E'
*
**
***
****
***
**
*
.CHAR 80
.NOTE 'Pointer big S'
*******
*****
***
*
.CHAR 81
.NOTE 'Pointer big up'
*
***
*****
*******
.CHAR 82
.NOTE 'Pointer big W'
*
**
***
****
***
**
*
.CHAR 83
.NOTE 'Pointer small E'
*
**
***
**
*
.CHAR 84
.NOTE 'Pointer small N'
*
***
*****
.CHAR 85
.NOTE 'Pointer small S'
*****
***
*
.CHAR 86
.NOTE 'Pointer small W'
*
**
***
**
*
.CHAR 87
.NOTE 'Wave Sine'
* *
* *
* *
* *
* *
* *
* *
**
.CHAR 88
.NOTE 'Wave square'
*** **
* *
* *
* *
* *
* *
* *
*****
.CHAR 89
.NOTE 'Wave triangle'
*
* *
* *
* *
* *
*
.CHAR 90
.NOTE 'Pattern bars V 1'
*
*
*
*
*
*
*
*
.CHAR 91
.NOTE 'Pattern bars V 2'
**
**
**
**
**
**
**
**
.CHAR 92
.NOTE 'Pattern bars V 3'
***
***
***
***
***
***
***
***
.CHAR 93
.NOTE 'Pattern bars V 4'
****
****
****
****
****
****
****
****
.CHAR 94
.NOTE 'Pattern bars V 5'
*****
*****
*****
*****
*****
*****
*****
*****
.CHAR 95
.NOTE 'Pattern bars V 6'
****
****
****
****
****
****
****
****
.CHAR 96
.NOTE 'Pattern bars V 7'
***
***
***
***
***
***
***
***
.CHAR 97
.NOTE 'Pattern bars V 8'
**
**
**
**
**
**
**
**
.CHAR 98
.NOTE 'Pattern bars V 9'
*
*
*
*
*
*
*
*
.END

2543
lib/MD_MAX72XX/Font Builder/sys_fixed_single.txt

File diff suppressed because it is too large Load Diff

1684
lib/MD_MAX72XX/Font Builder/sys_var_double.txt

File diff suppressed because it is too large Load Diff

2261
lib/MD_MAX72XX/Font Builder/sys_var_single.txt

File diff suppressed because it is too large Load Diff

BIN
lib/MD_MAX72XX/Font Builder/txt2font.executable

Binary file not shown.

29
lib/MD_MAX72XX/ISSUE_TEMPLATE.md

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
## IMPORTANT
Before submitting this issue
[ ] Have you tried using the latest version of the library?
[ ] Have you checked this has not already been submitted and/or resolved?
[ ] If you are requesting help a better choice may be the [ Arduino forum](http://forum.arduino.cc/)
## Subject of the issue
Describe your issue here.
## Your Environment
**Library Version:**
**Arduino IDE version:**
**Host OS and Version:**
**CPU Hardware model/type:**
**Matrix hardware model/type:** [ ] Parola [ ] Generic [ ] ICStation [ ] FC-16 [ ] Custom (describe how wired)
## Steps to Reproduce
Explain how to reproduce this issue. Please provide working code below to demonstrate the issue.
## Expected Behaviour
Explain what should happen.
## Actual Behaviour
Explain what happens instead. Provide log messages if relevant.
## Code Demonstrating the Issue
````
Insert your compilable code here (no code snippets).
````

502
lib/MD_MAX72XX/LICENSE

@ -0,0 +1,502 @@ @@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

29
lib/MD_MAX72XX/PULL_REQUEST.md

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
## Proposed changes
Describe the big picture of your changes here to communicate why we should accept this pull request.
- If it fixes a bug or resolves a feature request, be sure to link to that issue.
- If it introduces new functionality, why is this needed?
- If it modifies existing functionality, what makes this better?
## Types of changes
What types of changes does your code introduce?
Put an `x` in the boxes that apply
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
## Your Environment
**Library Version:**
**Arduino IDE version:**
**Hardware model/type:**
**OS and Version:**
## Checklist
Put an `x` in the boxes that apply. You can also fill these out after creating the PR.
This is a reminder of what we are expecting before merging your code.
[ ] Code compiles correctly/with no errors
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added or extended necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules
## Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

13
lib/MD_MAX72XX/README.md

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
# MAX72xx LED Matrix Display Library
[![arduino-library-badge](https://www.ardu-badge.com/badge/MD_MAX72XX.svg?)](https://www.ardu-badge.com/MD_MAX72XX)
The library implements functions that allow the MAX72xx to be used for LED matrices (64 individual LEDs), allowing the programmer to use the LED matrix as a pixel device, displaying graphics elements much like any other pixel addressable display.
In this scenario, it is convenient to abstract out the concept of the hardware device and create a uniform and consistent pixel address space, with the libraries determining device and device-element address. Similarly, control of the devices is uniform and abstracted to a system level.
The library still retains flexibility for device level control, should the developer require, through the use of overloaded class methods.
If you like and use this library please consider making a small donation using [PayPal](https://paypal.me/MajicDesigns/4USD)
[Library Documentation](https://majicdesigns.github.io/MD_MAX72XX/)

0
lib/MD_MAX72XX/docs/.nojekyll

BIN
lib/MD_MAX72XX/docs/Circuit_Schematic.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
lib/MD_MAX72XX/docs/FC-16_Module.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
lib/MD_MAX72XX/docs/FC-16_conn.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
lib/MD_MAX72XX/docs/Generic_Module.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

BIN
lib/MD_MAX72XX/docs/Generic_conn.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

BIN
lib/MD_MAX72XX/docs/ICStation_Module.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
lib/MD_MAX72XX/docs/ICStation_conn.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
lib/MD_MAX72XX/docs/MajicDesigns_Logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
lib/MD_MAX72XX/docs/Modules_conn.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
lib/MD_MAX72XX/docs/PCB_Layout.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
lib/MD_MAX72XX/docs/Parola_Module.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

133
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp.html

@ -0,0 +1,133 @@ @@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src/MD_MAX72xx.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_m_d___m_a_x72xx_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">MD_MAX72xx.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implements class definition and general methods.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_m_d___m_a_x72xx__lib_8h.html">MD_MAX72xx_lib.h</a>&quot;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for MD_MAX72xx.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx_8cpp__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx_8cpp" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx_8cpp" id="asrc_2_m_d___m_a_x72xx_8cpp">
<area shape="rect" title="Implements class definition and general methods." alt="" coords="14,6,164,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="32,155,147,181"/>
<area shape="poly" title=" " alt="" coords="84,33,69,66,64,86,65,106,79,142,74,144,60,107,59,85,64,64,79,30"/>
<area shape="rect" href="_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="75,81,209,106"/>
<area shape="poly" title=" " alt="" coords="100,30,128,68,124,71,96,33"/>
<area shape="rect" title=" " alt="" coords="5,230,83,255"/>
<area shape="poly" title=" " alt="" coords="84,183,61,220,56,217,80,180"/>
<area shape="rect" title=" " alt="" coords="107,230,161,255"/>
<area shape="poly" title=" " alt="" coords="99,180,122,217,118,220,95,183"/>
<area shape="poly" title=" " alt="" coords="136,108,108,146,104,142,132,105"/>
</map>
</div>
</div><a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements class definition and general methods. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___m_a_x72xx_8cpp.html">MD_MAX72xx.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

12
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp__incl.map

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<map id="src/MD_MAX72xx.cpp" name="src/MD_MAX72xx.cpp">
<area shape="rect" id="Node000001" title="Implements class definition and general methods." alt="" coords="14,6,164,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="32,155,147,181"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="84,33,69,66,64,86,65,106,79,142,74,144,60,107,59,85,64,64,79,30"/>
<area shape="rect" id="Node000005" href="$_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="75,81,209,106"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="100,30,128,68,124,71,96,33"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="5,230,83,255"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="84,183,61,220,56,217,80,180"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="107,230,161,255"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="99,180,122,217,118,220,95,183"/>
<area shape="poly" id="edge5_Node000005_Node000002" title=" " alt="" coords="136,108,108,146,104,142,132,105"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
a876dbda8435e955cd08456ddbb9d813

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8cpp__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

201
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h.html

@ -0,0 +1,201 @@ @@ -0,0 +1,201 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src/MD_MAX72xx.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_m_d___m_a_x72xx_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> </div>
<div class="headertitle"><div class="title">MD_MAX72xx.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Main header file for the MD_MAX72xx library.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;Arduino.h&gt;</code><br />
<code>#include &lt;SPI.h&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for MD_MAX72xx.h:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx_8h__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx_8h" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx_8h" id="asrc_2_m_d___m_a_x72xx_8h">
<area shape="rect" title="Main header file for the MD_MAX72xx library." alt="" coords="21,6,157,31"/>
<area shape="rect" title=" " alt="" coords="5,81,83,106"/>
<area shape="poly" title=" " alt="" coords="84,33,61,70,56,68,80,30"/>
<area shape="rect" title=" " alt="" coords="107,81,161,106"/>
<area shape="poly" title=" " alt="" coords="99,30,122,68,118,70,95,33"/>
</map>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx_8h__dep__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx_8hdep" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx_8hdep" id="asrc_2_m_d___m_a_x72xx_8hdep">
<area shape="rect" title="Main header file for the MD_MAX72xx library." alt="" coords="298,6,435,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8cpp.html" title="Implements class definition and general methods." alt="" coords="5,155,155,181"/>
<area shape="poly" title=" " alt="" coords="333,40,104,158,101,153,331,35"/>
<area shape="rect" href="_m_d___m_a_x72xx__buf_8cpp.html" title="Implements buffer related methods." alt="" coords="179,155,353,181"/>
<area shape="poly" title=" " alt="" coords="326,40,300,58,278,81,271,100,267,120,268,155,262,155,262,120,265,98,274,79,296,53,323,35"/>
<area shape="rect" href="_m_d___m_a_x72xx__font_8cpp.html" title="Implements font definition and methods." alt="" coords="379,155,557,181"/>
<area shape="poly" title=" " alt="" coords="409,35,437,53,460,79,468,98,472,119,472,155,467,155,467,120,463,100,455,81,433,57,406,40"/>
<area shape="rect" href="_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="288,81,445,106"/>
<area shape="poly" title=" " alt="" coords="369,46,369,80,364,80,364,46"/>
<area shape="rect" href="_m_d___m_a_x72xx__pix_8cpp.html" title="Implements pixel related methods." alt="" coords="582,155,756,181"/>
<area shape="poly" title=" " alt="" coords="404,35,647,153,645,158,402,40"/>
<area shape="poly" title=" " alt="" coords="309,112,126,158,125,153,307,107"/>
<area shape="poly" title=" " alt="" coords="341,116,285,157,281,153,338,112"/>
<area shape="poly" title=" " alt="" coords="396,112,453,153,450,157,393,116"/>
<area shape="poly" title=" " alt="" coords="428,107,622,153,621,158,427,112"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6c25e9e31b943073d30c4d04d5ea8fbc" id="r_a6c25e9e31b943073d30c4d04d5ea8fbc"><td class="memItemLeft" align="right" valign="top"><a id="a6c25e9e31b943073d30c4d04d5ea8fbc" name="a6c25e9e31b943073d30c4d04d5ea8fbc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MBED_SPI_ACTIVE</b>&#160;&#160;&#160;(defined(__MBED__) &amp;&amp; !defined(ARDUINO))</td></tr>
<tr class="separator:a6c25e9e31b943073d30c4d04d5ea8fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156ea396ee2a9dd550bc3a78ce65162b" id="r_a156ea396ee2a9dd550bc3a78ce65162b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx_8h.html#a156ea396ee2a9dd550bc3a78ce65162b">USE_LOCAL_FONT</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a156ea396ee2a9dd550bc3a78ce65162b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d030604a90c8d019d90fc721900d63" id="r_aa4d030604a90c8d019d90fc721900d63"><td class="memItemLeft" align="right" valign="top"><a id="aa4d030604a90c8d019d90fc721900d63" name="aa4d030604a90c8d019d90fc721900d63"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ROW_SIZE</b>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:aa4d030604a90c8d019d90fc721900d63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in pixels of a row in the device LED matrix array. <br /></td></tr>
<tr class="separator:aa4d030604a90c8d019d90fc721900d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99468544016f0abb855e6415c629ec29" id="r_a99468544016f0abb855e6415c629ec29"><td class="memItemLeft" align="right" valign="top"><a id="a99468544016f0abb855e6415c629ec29" name="a99468544016f0abb855e6415c629ec29"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>COL_SIZE</b>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:a99468544016f0abb855e6415c629ec29"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in pixels of a column in the device LED matrix array. <br /></td></tr>
<tr class="separator:a99468544016f0abb855e6415c629ec29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d1d5e7ff16f25b68fdf779befd298f7" id="r_a1d1d5e7ff16f25b68fdf779befd298f7"><td class="memItemLeft" align="right" valign="top"><a id="a1d1d5e7ff16f25b68fdf779befd298f7" name="a1d1d5e7ff16f25b68fdf779befd298f7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAX_INTENSITY</b>&#160;&#160;&#160;0xf</td></tr>
<tr class="memdesc:a1d1d5e7ff16f25b68fdf779befd298f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum intensity value that can be set for a LED array. <br /></td></tr>
<tr class="separator:a1d1d5e7ff16f25b68fdf779befd298f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79dd2935dc509b4e1f07cd1e8607be30" id="r_a79dd2935dc509b4e1f07cd1e8607be30"><td class="memItemLeft" align="right" valign="top"><a id="a79dd2935dc509b4e1f07cd1e8607be30" name="a79dd2935dc509b4e1f07cd1e8607be30"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAX_SCANLIMIT</b>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:a79dd2935dc509b4e1f07cd1e8607be30"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum scan limit value that can be set for the devices. <br /></td></tr>
<tr class="separator:a79dd2935dc509b4e1f07cd1e8607be30"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Main header file for the MD_MAX72xx library. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a156ea396ee2a9dd550bc3a78ce65162b" name="a156ea396ee2a9dd550bc3a78ce65162b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a156ea396ee2a9dd550bc3a78ce65162b">&#9670;&#160;</a></span>USE_LOCAL_FONT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define USE_LOCAL_FONT&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to 1 (default) to enable local font in this library and enable loadChar() and related methods. If the library is just used for graphics some FLASH RAM can be saved by not including the code to process font data. The font file is stored in PROGMEM. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

9
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h.js

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
var _m_d___m_a_x72xx_8h =
[
[ "MD_MAX72XX", "class_m_d___m_a_x72_x_x.html", "class_m_d___m_a_x72_x_x" ],
[ "COL_SIZE", "_m_d___m_a_x72xx_8h.html#a99468544016f0abb855e6415c629ec29", null ],
[ "MAX_INTENSITY", "_m_d___m_a_x72xx_8h.html#a1d1d5e7ff16f25b68fdf779befd298f7", null ],
[ "MAX_SCANLIMIT", "_m_d___m_a_x72xx_8h.html#a79dd2935dc509b4e1f07cd1e8607be30", null ],
[ "ROW_SIZE", "_m_d___m_a_x72xx_8h.html#aa4d030604a90c8d019d90fc721900d63", null ],
[ "USE_LOCAL_FONT", "_m_d___m_a_x72xx_8h.html#a156ea396ee2a9dd550bc3a78ce65162b", null ]
];

17
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__dep__incl.map

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
<map id="src/MD_MAX72xx.h" name="src/MD_MAX72xx.h">
<area shape="rect" id="Node000001" title="Main header file for the MD_MAX72xx library." alt="" coords="298,6,435,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8cpp.html" title="Implements class definition and general methods." alt="" coords="5,155,155,181"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="333,40,104,158,101,153,331,35"/>
<area shape="rect" id="Node000003" href="$_m_d___m_a_x72xx__buf_8cpp.html" title="Implements buffer related methods." alt="" coords="179,155,353,181"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="326,40,300,58,278,81,271,100,267,120,268,155,262,155,262,120,265,98,274,79,296,53,323,35"/>
<area shape="rect" id="Node000004" href="$_m_d___m_a_x72xx__font_8cpp.html" title="Implements font definition and methods." alt="" coords="379,155,557,181"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="409,35,437,53,460,79,468,98,472,119,472,155,467,155,467,120,463,100,455,81,433,57,406,40"/>
<area shape="rect" id="Node000005" href="$_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="288,81,445,106"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="369,46,369,80,364,80,364,46"/>
<area shape="rect" id="Node000006" href="$_m_d___m_a_x72xx__pix_8cpp.html" title="Implements pixel related methods." alt="" coords="582,155,756,181"/>
<area shape="poly" id="edge9_Node000001_Node000006" title=" " alt="" coords="404,35,647,153,645,158,402,40"/>
<area shape="poly" id="edge5_Node000005_Node000002" title=" " alt="" coords="309,112,126,158,125,153,307,107"/>
<area shape="poly" id="edge6_Node000005_Node000003" title=" " alt="" coords="341,116,285,157,281,153,338,112"/>
<area shape="poly" id="edge7_Node000005_Node000004" title=" " alt="" coords="396,112,453,153,450,157,393,116"/>
<area shape="poly" id="edge8_Node000005_Node000006" title=" " alt="" coords="428,107,622,153,621,158,427,112"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__dep__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
8aee2063b757e0eeeac223b7d7011a23

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__dep__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

7
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__incl.map

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
<map id="src/MD_MAX72xx.h" name="src/MD_MAX72xx.h">
<area shape="rect" id="Node000001" title="Main header file for the MD_MAX72xx library." alt="" coords="21,6,157,31"/>
<area shape="rect" id="Node000002" title=" " alt="" coords="5,81,83,106"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="84,33,61,70,56,68,80,30"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="107,81,161,106"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="99,30,122,68,118,70,95,33"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
7f39532188c823a980e5810552e97997

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx_8h__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

133
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp.html

@ -0,0 +1,133 @@ @@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src/MD_MAX72xx_buf.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_m_d___m_a_x72xx__buf_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">MD_MAX72xx_buf.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implements buffer related methods.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_m_d___m_a_x72xx__lib_8h.html">MD_MAX72xx_lib.h</a>&quot;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for MD_MAX72xx_buf.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx__buf_8cpp__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx__buf_8cpp" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx__buf_8cpp" id="asrc_2_m_d___m_a_x72xx__buf_8cpp">
<area shape="rect" title="Implements buffer related methods." alt="" coords="5,6,179,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="35,155,149,181"/>
<area shape="poly" title=" " alt="" coords="87,33,72,66,67,86,68,106,81,142,76,144,63,107,62,85,67,64,82,30"/>
<area shape="rect" href="_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="78,81,212,106"/>
<area shape="poly" title=" " alt="" coords="103,30,131,68,126,71,99,33"/>
<area shape="rect" title=" " alt="" coords="8,230,85,255"/>
<area shape="poly" title=" " alt="" coords="87,183,63,220,59,217,82,180"/>
<area shape="rect" title=" " alt="" coords="110,230,164,255"/>
<area shape="poly" title=" " alt="" coords="102,180,125,217,121,220,97,183"/>
<area shape="poly" title=" " alt="" coords="139,108,111,146,107,142,134,105"/>
</map>
</div>
</div><a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements buffer related methods. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___m_a_x72xx__buf_8cpp.html">MD_MAX72xx_buf.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

12
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp__incl.map

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<map id="src/MD_MAX72xx_buf.cpp" name="src/MD_MAX72xx_buf.cpp">
<area shape="rect" id="Node000001" title="Implements buffer related methods." alt="" coords="5,6,179,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="35,155,149,181"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="87,33,72,66,67,86,68,106,81,142,76,144,63,107,62,85,67,64,82,30"/>
<area shape="rect" id="Node000005" href="$_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="78,81,212,106"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="103,30,131,68,126,71,99,33"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="8,230,85,255"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="87,183,63,220,59,217,82,180"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="110,230,164,255"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="102,180,125,217,121,220,97,183"/>
<area shape="poly" id="edge5_Node000005_Node000002" title=" " alt="" coords="139,108,111,146,107,142,134,105"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
8f6e957102da5502c45cde25d4560aae

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__buf_8cpp__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

150
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp.html

@ -0,0 +1,150 @@ @@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src/MD_MAX72xx_font.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_m_d___m_a_x72xx__font_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">MD_MAX72xx_font.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implements font definition and methods.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_m_d___m_a_x72xx__lib_8h.html">MD_MAX72xx_lib.h</a>&quot;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for MD_MAX72xx_font.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx__font_8cpp__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx__font_8cpp" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx__font_8cpp" id="asrc_2_m_d___m_a_x72xx__font_8cpp">
<area shape="rect" title="Implements font definition and methods." alt="" coords="5,6,184,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="37,155,152,181"/>
<area shape="poly" title=" " alt="" coords="90,33,74,66,70,86,71,106,84,142,79,144,65,107,65,85,69,64,85,30"/>
<area shape="rect" href="_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="81,81,215,106"/>
<area shape="poly" title=" " alt="" coords="106,30,133,68,129,71,101,33"/>
<area shape="rect" title=" " alt="" coords="11,230,88,255"/>
<area shape="poly" title=" " alt="" coords="89,183,66,220,62,217,85,180"/>
<area shape="rect" title=" " alt="" coords="113,230,167,255"/>
<area shape="poly" title=" " alt="" coords="104,180,128,217,123,220,100,183"/>
<area shape="poly" title=" " alt="" coords="141,108,114,146,109,142,137,105"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a79fc401febb90ff349b60de104786575" id="r_a79fc401febb90ff349b60de104786575"><td class="memItemLeft" align="right" valign="top"><a id="a79fc401febb90ff349b60de104786575" name="a79fc401febb90ff349b60de104786575"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>USE_NEW_FONT</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a79fc401febb90ff349b60de104786575"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a257a12eacc1614b3a038b5164fd78e47" id="r_a257a12eacc1614b3a038b5164fd78e47"><td class="memItemLeft" align="right" valign="top"><a id="a257a12eacc1614b3a038b5164fd78e47" name="a257a12eacc1614b3a038b5164fd78e47"></a>
<a class="el" href="class_m_d___m_a_x72_x_x.html#a5b2e511f00bddbcc1fffa78757d71bf5">MD_MAX72XX::fontType_t</a> PROGMEM&#160;</td><td class="memItemRight" valign="bottom"><b>_sysfont</b> []</td></tr>
<tr class="memdesc:a257a12eacc1614b3a038b5164fd78e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">System variable pitch font table. <br /></td></tr>
<tr class="separator:a257a12eacc1614b3a038b5164fd78e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements font definition and methods. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___m_a_x72xx__font_8cpp.html">MD_MAX72xx_font.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

4
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp.js

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
var _m_d___m_a_x72xx__font_8cpp =
[
[ "_sysfont", "_m_d___m_a_x72xx__font_8cpp.html#a257a12eacc1614b3a038b5164fd78e47", null ]
];

12
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp__incl.map

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<map id="src/MD_MAX72xx_font.cpp" name="src/MD_MAX72xx_font.cpp">
<area shape="rect" id="Node000001" title="Implements font definition and methods." alt="" coords="5,6,184,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="37,155,152,181"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="90,33,74,66,70,86,71,106,84,142,79,144,65,107,65,85,69,64,85,30"/>
<area shape="rect" id="Node000005" href="$_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="81,81,215,106"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="106,30,133,68,129,71,101,33"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="11,230,88,255"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="89,183,66,220,62,217,85,180"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="113,230,167,255"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="104,180,128,217,123,220,100,183"/>
<area shape="poly" id="edge5_Node000005_Node000002" title=" " alt="" coords="141,108,114,146,109,142,137,105"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
3972470d4ad103c35c5c35ecc2f1c658

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__font_8cpp__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

273
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h.html

@ -0,0 +1,273 @@ @@ -0,0 +1,273 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src/MD_MAX72xx_lib.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_m_d___m_a_x72xx__lib_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">MD_MAX72xx_lib.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Includes library definitions.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a>&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for MD_MAX72xx_lib.h:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx__lib_8h__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx__lib_8h" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx__lib_8h" id="asrc_2_m_d___m_a_x72xx__lib_8h">
<area shape="rect" title="Includes library definitions." alt="" coords="11,6,168,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="32,81,147,106"/>
<area shape="poly" title=" " alt="" coords="92,32,92,67,87,67,87,32"/>
<area shape="rect" title=" " alt="" coords="5,155,83,181"/>
<area shape="poly" title=" " alt="" coords="84,108,61,145,56,142,80,105"/>
<area shape="rect" title=" " alt="" coords="107,155,161,181"/>
<area shape="poly" title=" " alt="" coords="99,105,122,142,118,145,95,108"/>
</map>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx__lib_8h__dep__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx__lib_8hdep" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx__lib_8hdep" id="asrc_2_m_d___m_a_x72xx__lib_8hdep">
<area shape="rect" title="Includes library definitions." alt="" coords="288,6,445,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8cpp.html" title="Implements class definition and general methods." alt="" coords="5,81,155,106"/>
<area shape="poly" title=" " alt="" coords="309,37,126,83,125,78,307,32"/>
<area shape="rect" href="_m_d___m_a_x72xx__buf_8cpp.html" title="Implements buffer related methods." alt="" coords="179,81,353,106"/>
<area shape="poly" title=" " alt="" coords="341,42,285,82,281,78,338,37"/>
<area shape="rect" href="_m_d___m_a_x72xx__font_8cpp.html" title="Implements font definition and methods." alt="" coords="379,81,557,106"/>
<area shape="poly" title=" " alt="" coords="396,37,453,78,450,82,393,42"/>
<area shape="rect" href="_m_d___m_a_x72xx__pix_8cpp.html" title="Implements pixel related methods." alt="" coords="582,81,756,106"/>
<area shape="poly" title=" " alt="" coords="428,32,622,78,621,83,427,37"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a95fb00b1f346896818c99d99f041c201" id="r_a95fb00b1f346896818c99d99f041c201"><td class="memItemLeft" align="right" valign="top"><a id="a95fb00b1f346896818c99d99f041c201" name="a95fb00b1f346896818c99d99f041c201"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAX_DEBUG</b>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a95fb00b1f346896818c99d99f041c201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable (default) debugging output from the MD_MAX72xx library. <br /></td></tr>
<tr class="separator:a95fb00b1f346896818c99d99f041c201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1696fc35fb931f8c876786fbc1078ac4" id="r_a1696fc35fb931f8c876786fbc1078ac4"><td class="memItemLeft" align="right" valign="top"><a id="a1696fc35fb931f8c876786fbc1078ac4" name="a1696fc35fb931f8c876786fbc1078ac4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRINT</b>(s, v)</td></tr>
<tr class="memdesc:a1696fc35fb931f8c876786fbc1078ac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a string followed by a value (decimal) <br /></td></tr>
<tr class="separator:a1696fc35fb931f8c876786fbc1078ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf55b44e8497cbc3addccdeb294138cc" id="r_abf55b44e8497cbc3addccdeb294138cc"><td class="memItemLeft" align="right" valign="top"><a id="abf55b44e8497cbc3addccdeb294138cc" name="abf55b44e8497cbc3addccdeb294138cc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRINTX</b>(s, v)</td></tr>
<tr class="memdesc:abf55b44e8497cbc3addccdeb294138cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a string followed by a value (hex) <br /></td></tr>
<tr class="separator:abf55b44e8497cbc3addccdeb294138cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71d5d719d30a3cb9ec26a38c6cc6e269" id="r_a71d5d719d30a3cb9ec26a38c6cc6e269"><td class="memItemLeft" align="right" valign="top"><a id="a71d5d719d30a3cb9ec26a38c6cc6e269" name="a71d5d719d30a3cb9ec26a38c6cc6e269"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRINTB</b>(s, v)</td></tr>
<tr class="memdesc:a71d5d719d30a3cb9ec26a38c6cc6e269"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a string followed by a value (binary) <br /></td></tr>
<tr class="separator:a71d5d719d30a3cb9ec26a38c6cc6e269"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad68f35c3cfe67be8d09d1cea8e788e13" id="r_ad68f35c3cfe67be8d09d1cea8e788e13"><td class="memItemLeft" align="right" valign="top"><a id="ad68f35c3cfe67be8d09d1cea8e788e13" name="ad68f35c3cfe67be8d09d1cea8e788e13"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRINTS</b>(s)</td></tr>
<tr class="memdesc:ad68f35c3cfe67be8d09d1cea8e788e13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a string. <br /></td></tr>
<tr class="separator:ad68f35c3cfe67be8d09d1cea8e788e13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c542d212fef9a9b5ba82222089a306b" id="r_a6c542d212fef9a9b5ba82222089a306b"><td class="memItemLeft" align="right" valign="top"><a id="a6c542d212fef9a9b5ba82222089a306b" name="a6c542d212fef9a9b5ba82222089a306b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_NOOP</b>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a6c542d212fef9a9b5ba82222089a306b"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for NO OP. <br /></td></tr>
<tr class="separator:a6c542d212fef9a9b5ba82222089a306b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2dcbbd3fef01a1defd3aa5f8a8c612a" id="r_ac2dcbbd3fef01a1defd3aa5f8a8c612a"><td class="memItemLeft" align="right" valign="top"><a id="ac2dcbbd3fef01a1defd3aa5f8a8c612a" name="ac2dcbbd3fef01a1defd3aa5f8a8c612a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT0</b>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ac2dcbbd3fef01a1defd3aa5f8a8c612a"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT0. <br /></td></tr>
<tr class="separator:ac2dcbbd3fef01a1defd3aa5f8a8c612a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c8209744590cd0cc8495cc6de58ab02" id="r_a6c8209744590cd0cc8495cc6de58ab02"><td class="memItemLeft" align="right" valign="top"><a id="a6c8209744590cd0cc8495cc6de58ab02" name="a6c8209744590cd0cc8495cc6de58ab02"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT1</b>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a6c8209744590cd0cc8495cc6de58ab02"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT1. <br /></td></tr>
<tr class="separator:a6c8209744590cd0cc8495cc6de58ab02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a430d77ba70abea8e61820aaa3f27c28b" id="r_a430d77ba70abea8e61820aaa3f27c28b"><td class="memItemLeft" align="right" valign="top"><a id="a430d77ba70abea8e61820aaa3f27c28b" name="a430d77ba70abea8e61820aaa3f27c28b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT2</b>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:a430d77ba70abea8e61820aaa3f27c28b"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT2. <br /></td></tr>
<tr class="separator:a430d77ba70abea8e61820aaa3f27c28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03d3bd8cd1b468b4a9cb473036f65747" id="r_a03d3bd8cd1b468b4a9cb473036f65747"><td class="memItemLeft" align="right" valign="top"><a id="a03d3bd8cd1b468b4a9cb473036f65747" name="a03d3bd8cd1b468b4a9cb473036f65747"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT3</b>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:a03d3bd8cd1b468b4a9cb473036f65747"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT3. <br /></td></tr>
<tr class="separator:a03d3bd8cd1b468b4a9cb473036f65747"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3d2e72ba1cca69133e4dcbc478f616b" id="r_ac3d2e72ba1cca69133e4dcbc478f616b"><td class="memItemLeft" align="right" valign="top"><a id="ac3d2e72ba1cca69133e4dcbc478f616b" name="ac3d2e72ba1cca69133e4dcbc478f616b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT4</b>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ac3d2e72ba1cca69133e4dcbc478f616b"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT4. <br /></td></tr>
<tr class="separator:ac3d2e72ba1cca69133e4dcbc478f616b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a021f910b62cdaa529fcea36791df7028" id="r_a021f910b62cdaa529fcea36791df7028"><td class="memItemLeft" align="right" valign="top"><a id="a021f910b62cdaa529fcea36791df7028" name="a021f910b62cdaa529fcea36791df7028"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT5</b>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:a021f910b62cdaa529fcea36791df7028"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT5. <br /></td></tr>
<tr class="separator:a021f910b62cdaa529fcea36791df7028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a12c4b35c924fec89c3b71246b7b7e2" id="r_a5a12c4b35c924fec89c3b71246b7b7e2"><td class="memItemLeft" align="right" valign="top"><a id="a5a12c4b35c924fec89c3b71246b7b7e2" name="a5a12c4b35c924fec89c3b71246b7b7e2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT6</b>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:a5a12c4b35c924fec89c3b71246b7b7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT6. <br /></td></tr>
<tr class="separator:a5a12c4b35c924fec89c3b71246b7b7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a1210173fb70a66f649b93eb62e0884" id="r_a3a1210173fb70a66f649b93eb62e0884"><td class="memItemLeft" align="right" valign="top"><a id="a3a1210173fb70a66f649b93eb62e0884" name="a3a1210173fb70a66f649b93eb62e0884"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DIGIT7</b>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:a3a1210173fb70a66f649b93eb62e0884"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DIGIT7. <br /></td></tr>
<tr class="separator:a3a1210173fb70a66f649b93eb62e0884"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a318b32d905ce8e57d7caec133ec7d712" id="r_a318b32d905ce8e57d7caec133ec7d712"><td class="memItemLeft" align="right" valign="top"><a id="a318b32d905ce8e57d7caec133ec7d712" name="a318b32d905ce8e57d7caec133ec7d712"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DECODEMODE</b>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:a318b32d905ce8e57d7caec133ec7d712"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DECODE MODE. <br /></td></tr>
<tr class="separator:a318b32d905ce8e57d7caec133ec7d712"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f47ca7a01008a4d918302ece5314ed4" id="r_a4f47ca7a01008a4d918302ece5314ed4"><td class="memItemLeft" align="right" valign="top"><a id="a4f47ca7a01008a4d918302ece5314ed4" name="a4f47ca7a01008a4d918302ece5314ed4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_INTENSITY</b>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:a4f47ca7a01008a4d918302ece5314ed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for SET INTENSITY. <br /></td></tr>
<tr class="separator:a4f47ca7a01008a4d918302ece5314ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d91ddca53029535b6cf314b28ed15e" id="r_a13d91ddca53029535b6cf314b28ed15e"><td class="memItemLeft" align="right" valign="top"><a id="a13d91ddca53029535b6cf314b28ed15e" name="a13d91ddca53029535b6cf314b28ed15e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_SCANLIMIT</b>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:a13d91ddca53029535b6cf314b28ed15e"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for SCAN LIMIT. <br /></td></tr>
<tr class="separator:a13d91ddca53029535b6cf314b28ed15e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4772c1c1c24a4b5837a2000c62aa0a3" id="r_ac4772c1c1c24a4b5837a2000c62aa0a3"><td class="memItemLeft" align="right" valign="top"><a id="ac4772c1c1c24a4b5837a2000c62aa0a3" name="ac4772c1c1c24a4b5837a2000c62aa0a3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_SHUTDOWN</b>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:ac4772c1c1c24a4b5837a2000c62aa0a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for SHUT DOWN. <br /></td></tr>
<tr class="separator:ac4772c1c1c24a4b5837a2000c62aa0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ef59a31858360d26d5dade28441598c" id="r_a7ef59a31858360d26d5dade28441598c"><td class="memItemLeft" align="right" valign="top"><a id="a7ef59a31858360d26d5dade28441598c" name="a7ef59a31858360d26d5dade28441598c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OP_DISPLAYTEST</b>&#160;&#160;&#160;15</td></tr>
<tr class="memdesc:a7ef59a31858360d26d5dade28441598c"><td class="mdescLeft">&#160;</td><td class="mdescRight">MAX72xx opcode for DISPLAY TEST. <br /></td></tr>
<tr class="separator:a7ef59a31858360d26d5dade28441598c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1311c4a6ec43ed79b5b79b769abdb2e9" id="r_a1311c4a6ec43ed79b5b79b769abdb2e9"><td class="memItemLeft" align="right" valign="top"><a id="a1311c4a6ec43ed79b5b79b769abdb2e9" name="a1311c4a6ec43ed79b5b79b769abdb2e9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ALL_CHANGED</b>&#160;&#160;&#160;0xff</td></tr>
<tr class="memdesc:a1311c4a6ec43ed79b5b79b769abdb2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for all rows changed in a buffer structure. <br /></td></tr>
<tr class="separator:a1311c4a6ec43ed79b5b79b769abdb2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac98deafc05f78857417ee0928eb8b786" id="r_ac98deafc05f78857417ee0928eb8b786"><td class="memItemLeft" align="right" valign="top"><a id="ac98deafc05f78857417ee0928eb8b786" name="ac98deafc05f78857417ee0928eb8b786"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ALL_CLEAR</b>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:ac98deafc05f78857417ee0928eb8b786"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for all rows clear in a buffer structure. <br /></td></tr>
<tr class="separator:ac98deafc05f78857417ee0928eb8b786"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4915dc914dd14143c87bd6a9dfdf9190" id="r_a4915dc914dd14143c87bd6a9dfdf9190"><td class="memItemLeft" align="right" valign="top"><a id="a4915dc914dd14143c87bd6a9dfdf9190" name="a4915dc914dd14143c87bd6a9dfdf9190"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FONT_FILE_INDICATOR</b>&#160;&#160;&#160;'F'</td></tr>
<tr class="memdesc:a4915dc914dd14143c87bd6a9dfdf9190"><td class="mdescLeft">&#160;</td><td class="mdescRight">Font table indicator prefix for info header. <br /></td></tr>
<tr class="separator:a4915dc914dd14143c87bd6a9dfdf9190"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d4a2b28815b437d2b2b2a38b0844cf9" id="r_a3d4a2b28815b437d2b2b2a38b0844cf9"><td class="memItemLeft" align="right" valign="top"><a id="a3d4a2b28815b437d2b2b2a38b0844cf9" name="a3d4a2b28815b437d2b2b2a38b0844cf9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SPI_DATA_SIZE</b>&#160;&#160;&#160;(sizeof(uint8_t)*_maxDevices*2)</td></tr>
<tr class="memdesc:a3d4a2b28815b437d2b2b2a38b0844cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the SPI data buffers. <br /></td></tr>
<tr class="separator:a3d4a2b28815b437d2b2b2a38b0844cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2df4aac8e44c45191f269fb0080f4ab" id="r_ad2df4aac8e44c45191f269fb0080f4ab"><td class="memItemLeft" align="right" valign="top"><a id="ad2df4aac8e44c45191f269fb0080f4ab" name="ad2df4aac8e44c45191f269fb0080f4ab"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SPI_OFFSET</b>(i, x)&#160;&#160;&#160;(((<a class="el" href="_m_d___m_a_x72xx__lib_8h.html#a931184853bc54a0a703e0fef3dbbf76f">LAST_BUFFER</a>-(i))*2)+(x))</td></tr>
<tr class="memdesc:ad2df4aac8e44c45191f269fb0080f4ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI data offset for buffer i, digit x. <br /></td></tr>
<tr class="separator:ad2df4aac8e44c45191f269fb0080f4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78f75922ae156c32cbbfb5317c19c1bd" id="r_a78f75922ae156c32cbbfb5317c19c1bd"><td class="memItemLeft" align="right" valign="top"><a id="a78f75922ae156c32cbbfb5317c19c1bd" name="a78f75922ae156c32cbbfb5317c19c1bd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FIRST_BUFFER</b>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a78f75922ae156c32cbbfb5317c19c1bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">First buffer number. <br /></td></tr>
<tr class="separator:a78f75922ae156c32cbbfb5317c19c1bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a931184853bc54a0a703e0fef3dbbf76f" id="r_a931184853bc54a0a703e0fef3dbbf76f"><td class="memItemLeft" align="right" valign="top"><a id="a931184853bc54a0a703e0fef3dbbf76f" name="a931184853bc54a0a703e0fef3dbbf76f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LAST_BUFFER</b>&#160;&#160;&#160;(_maxDevices-1)</td></tr>
<tr class="memdesc:a931184853bc54a0a703e0fef3dbbf76f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Last buffer number. <br /></td></tr>
<tr class="separator:a931184853bc54a0a703e0fef3dbbf76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56903cc37345485ca508143a2be78634" id="r_a56903cc37345485ca508143a2be78634"><td class="memItemLeft" align="right" valign="top"><a id="a56903cc37345485ca508143a2be78634" name="a56903cc37345485ca508143a2be78634"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>HW_ROW</b>(r)&#160;&#160;&#160;(_hwRevRows ? (<a class="el" href="_m_d___m_a_x72xx_8h.html#aa4d030604a90c8d019d90fc721900d63">ROW_SIZE</a> - 1 - (r)) : (r))</td></tr>
<tr class="memdesc:a56903cc37345485ca508143a2be78634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixel to hardware coordinate row mapping. <br /></td></tr>
<tr class="separator:a56903cc37345485ca508143a2be78634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77f84d61393ce43edbac8f90e6724867" id="r_a77f84d61393ce43edbac8f90e6724867"><td class="memItemLeft" align="right" valign="top"><a id="a77f84d61393ce43edbac8f90e6724867" name="a77f84d61393ce43edbac8f90e6724867"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>HW_COL</b>(c)&#160;&#160;&#160;(_hwRevCols ? (<a class="el" href="_m_d___m_a_x72xx_8h.html#a99468544016f0abb855e6415c629ec29">COL_SIZE</a> - 1 - (c)) : (c))</td></tr>
<tr class="memdesc:a77f84d61393ce43edbac8f90e6724867"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixel to hardware coordinate column mapping. <br /></td></tr>
<tr class="separator:a77f84d61393ce43edbac8f90e6724867"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a9a965cffcf356ebc8dddd193f136529c" id="r_a9a965cffcf356ebc8dddd193f136529c"><td class="memItemLeft" align="right" valign="top"><a id="a9a965cffcf356ebc8dddd193f136529c" name="a9a965cffcf356ebc8dddd193f136529c"></a>
const uint8_t PROGMEM&#160;</td><td class="memItemRight" valign="bottom"><b>_sysfont</b> []</td></tr>
<tr class="memdesc:a9a965cffcf356ebc8dddd193f136529c"><td class="mdescLeft">&#160;</td><td class="mdescRight">System variable pitch font table. <br /></td></tr>
<tr class="separator:a9a965cffcf356ebc8dddd193f136529c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Includes library definitions. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___m_a_x72xx__lib_8h.html">MD_MAX72xx_lib.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

32
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h.js

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
var _m_d___m_a_x72xx__lib_8h =
[
[ "ALL_CHANGED", "_m_d___m_a_x72xx__lib_8h.html#a1311c4a6ec43ed79b5b79b769abdb2e9", null ],
[ "ALL_CLEAR", "_m_d___m_a_x72xx__lib_8h.html#ac98deafc05f78857417ee0928eb8b786", null ],
[ "FIRST_BUFFER", "_m_d___m_a_x72xx__lib_8h.html#a78f75922ae156c32cbbfb5317c19c1bd", null ],
[ "FONT_FILE_INDICATOR", "_m_d___m_a_x72xx__lib_8h.html#a4915dc914dd14143c87bd6a9dfdf9190", null ],
[ "HW_COL", "_m_d___m_a_x72xx__lib_8h.html#a77f84d61393ce43edbac8f90e6724867", null ],
[ "HW_ROW", "_m_d___m_a_x72xx__lib_8h.html#a56903cc37345485ca508143a2be78634", null ],
[ "LAST_BUFFER", "_m_d___m_a_x72xx__lib_8h.html#a931184853bc54a0a703e0fef3dbbf76f", null ],
[ "MAX_DEBUG", "_m_d___m_a_x72xx__lib_8h.html#a95fb00b1f346896818c99d99f041c201", null ],
[ "OP_DECODEMODE", "_m_d___m_a_x72xx__lib_8h.html#a318b32d905ce8e57d7caec133ec7d712", null ],
[ "OP_DIGIT0", "_m_d___m_a_x72xx__lib_8h.html#ac2dcbbd3fef01a1defd3aa5f8a8c612a", null ],
[ "OP_DIGIT1", "_m_d___m_a_x72xx__lib_8h.html#a6c8209744590cd0cc8495cc6de58ab02", null ],
[ "OP_DIGIT2", "_m_d___m_a_x72xx__lib_8h.html#a430d77ba70abea8e61820aaa3f27c28b", null ],
[ "OP_DIGIT3", "_m_d___m_a_x72xx__lib_8h.html#a03d3bd8cd1b468b4a9cb473036f65747", null ],
[ "OP_DIGIT4", "_m_d___m_a_x72xx__lib_8h.html#ac3d2e72ba1cca69133e4dcbc478f616b", null ],
[ "OP_DIGIT5", "_m_d___m_a_x72xx__lib_8h.html#a021f910b62cdaa529fcea36791df7028", null ],
[ "OP_DIGIT6", "_m_d___m_a_x72xx__lib_8h.html#a5a12c4b35c924fec89c3b71246b7b7e2", null ],
[ "OP_DIGIT7", "_m_d___m_a_x72xx__lib_8h.html#a3a1210173fb70a66f649b93eb62e0884", null ],
[ "OP_DISPLAYTEST", "_m_d___m_a_x72xx__lib_8h.html#a7ef59a31858360d26d5dade28441598c", null ],
[ "OP_INTENSITY", "_m_d___m_a_x72xx__lib_8h.html#a4f47ca7a01008a4d918302ece5314ed4", null ],
[ "OP_NOOP", "_m_d___m_a_x72xx__lib_8h.html#a6c542d212fef9a9b5ba82222089a306b", null ],
[ "OP_SCANLIMIT", "_m_d___m_a_x72xx__lib_8h.html#a13d91ddca53029535b6cf314b28ed15e", null ],
[ "OP_SHUTDOWN", "_m_d___m_a_x72xx__lib_8h.html#ac4772c1c1c24a4b5837a2000c62aa0a3", null ],
[ "PRINT", "_m_d___m_a_x72xx__lib_8h.html#a1696fc35fb931f8c876786fbc1078ac4", null ],
[ "PRINTB", "_m_d___m_a_x72xx__lib_8h.html#a71d5d719d30a3cb9ec26a38c6cc6e269", null ],
[ "PRINTS", "_m_d___m_a_x72xx__lib_8h.html#ad68f35c3cfe67be8d09d1cea8e788e13", null ],
[ "PRINTX", "_m_d___m_a_x72xx__lib_8h.html#abf55b44e8497cbc3addccdeb294138cc", null ],
[ "SPI_DATA_SIZE", "_m_d___m_a_x72xx__lib_8h.html#a3d4a2b28815b437d2b2b2a38b0844cf9", null ],
[ "SPI_OFFSET", "_m_d___m_a_x72xx__lib_8h.html#ad2df4aac8e44c45191f269fb0080f4ab", null ],
[ "_sysfont", "_m_d___m_a_x72xx__lib_8h.html#a9a965cffcf356ebc8dddd193f136529c", null ]
];

11
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__dep__incl.map

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
<map id="src/MD_MAX72xx_lib.h" name="src/MD_MAX72xx_lib.h">
<area shape="rect" id="Node000001" title="Includes library definitions." alt="" coords="288,6,445,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8cpp.html" title="Implements class definition and general methods." alt="" coords="5,81,155,106"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="309,37,126,83,125,78,307,32"/>
<area shape="rect" id="Node000003" href="$_m_d___m_a_x72xx__buf_8cpp.html" title="Implements buffer related methods." alt="" coords="179,81,353,106"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="341,42,285,82,281,78,338,37"/>
<area shape="rect" id="Node000004" href="$_m_d___m_a_x72xx__font_8cpp.html" title="Implements font definition and methods." alt="" coords="379,81,557,106"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="396,37,453,78,450,82,393,42"/>
<area shape="rect" id="Node000005" href="$_m_d___m_a_x72xx__pix_8cpp.html" title="Implements pixel related methods." alt="" coords="582,81,756,106"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="428,32,622,78,621,83,427,37"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__dep__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
47fe0332d8c15752063b6926e68589e0

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__dep__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

9
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__incl.map

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
<map id="src/MD_MAX72xx_lib.h" name="src/MD_MAX72xx_lib.h">
<area shape="rect" id="Node000001" title="Includes library definitions." alt="" coords="11,6,168,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="32,81,147,106"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="92,32,92,67,87,67,87,32"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="5,155,83,181"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="84,108,61,145,56,142,80,105"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="107,155,161,181"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="99,105,122,142,118,145,95,108"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
5bbdeb79b4ccdbc9094d40a74186509d

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__lib_8h__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

133
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp.html

@ -0,0 +1,133 @@ @@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src/MD_MAX72xx_pix.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_m_d___m_a_x72xx__pix_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">MD_MAX72xx_pix.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implements pixel related methods.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_m_d___m_a_x72xx__lib_8h.html">MD_MAX72xx_lib.h</a>&quot;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for MD_MAX72xx_pix.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="_m_d___m_a_x72xx__pix_8cpp__incl.png" border="0" usemap="#asrc_2_m_d___m_a_x72xx__pix_8cpp" alt=""/></div>
<map name="asrc_2_m_d___m_a_x72xx__pix_8cpp" id="asrc_2_m_d___m_a_x72xx__pix_8cpp">
<area shape="rect" title="Implements pixel related methods." alt="" coords="5,6,179,31"/>
<area shape="rect" href="_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="35,155,149,181"/>
<area shape="poly" title=" " alt="" coords="87,33,72,66,67,86,68,106,81,142,76,144,63,107,62,85,67,64,82,30"/>
<area shape="rect" href="_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="78,81,212,106"/>
<area shape="poly" title=" " alt="" coords="103,30,131,68,126,71,99,33"/>
<area shape="rect" title=" " alt="" coords="8,230,85,255"/>
<area shape="poly" title=" " alt="" coords="87,183,63,220,59,217,82,180"/>
<area shape="rect" title=" " alt="" coords="110,230,164,255"/>
<area shape="poly" title=" " alt="" coords="102,180,125,217,121,220,97,183"/>
<area shape="poly" title=" " alt="" coords="139,108,111,146,107,142,134,105"/>
</map>
</div>
</div><a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements pixel related methods. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___m_a_x72xx__pix_8cpp.html">MD_MAX72xx_pix.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

5
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp.js

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
var _m_d___m_a_x72xx__pix_8cpp =
[
[ "C", "_m_d___m_a_x72xx__pix_8cpp.html#ac4cf4b2ab929bd23951a8676eeac086b", null ],
[ "R", "_m_d___m_a_x72xx__pix_8cpp.html#a5c71a5e59a53413cd6c270266d63b031", null ]
];

12
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp__incl.map

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<map id="src/MD_MAX72xx_pix.cpp" name="src/MD_MAX72xx_pix.cpp">
<area shape="rect" id="Node000001" title="Implements pixel related methods." alt="" coords="5,6,179,31"/>
<area shape="rect" id="Node000002" href="$_m_d___m_a_x72xx_8h.html" title="Main header file for the MD_MAX72xx library." alt="" coords="35,155,149,181"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="87,33,72,66,67,86,68,106,81,142,76,144,63,107,62,85,67,64,82,30"/>
<area shape="rect" id="Node000005" href="$_m_d___m_a_x72xx__lib_8h.html" title="Includes library definitions." alt="" coords="78,81,212,106"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="103,30,131,68,126,71,99,33"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="8,230,85,255"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="87,183,63,220,59,217,82,180"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="110,230,164,255"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="102,180,125,217,121,220,97,183"/>
<area shape="poly" id="edge5_Node000005_Node000002" title=" " alt="" coords="139,108,111,146,107,142,134,105"/>
</map>

1
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp__incl.md5

@ -0,0 +1 @@ @@ -0,0 +1 @@
d2a8236139371341b649b24fbadae781

BIN
lib/MD_MAX72XX/docs/_m_d___m_a_x72xx__pix_8cpp__incl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

111
lib/MD_MAX72XX/docs/annotated.html

@ -0,0 +1,111 @@ @@ -0,0 +1,111 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_m_d___m_a_x72_x_x.html" target="_self">MD_MAX72XX</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

4
lib/MD_MAX72XX/docs/annotated_dup.js

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
var annotated_dup =
[
[ "MD_MAX72XX", "class_m_d___m_a_x72_x_x.html", "class_m_d___m_a_x72_x_x" ]
];

BIN
lib/MD_MAX72XX/docs/bc_s.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
lib/MD_MAX72XX/docs/bc_sd.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

BIN
lib/MD_MAX72XX/docs/bdwn.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

184
lib/MD_MAX72XX/docs/class_m_d___m_a_x72_x_x-members.html

@ -0,0 +1,184 @@ @@ -0,0 +1,184 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_m_d___m_a_x72_x_x.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">MD_MAX72XX Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#adb14d2c3fb56372c3879a3297b7eb7bb">begin</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a5ce5b733333d776ef94e0cc36e1043cf">clear</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac57b7cd49a465e7f5f3027a1eac46242">clear</a>(uint8_t startDev, uint8_t endDev)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#acff691690cb5848980f10be9facbe086">clear</a>(uint8_t buf)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aa54ba8b079710f6b4e9f9721e2e09c68">control</a>(uint8_t dev, controlRequest_t mode, int value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aeb43fa0c917e716b9d35eac72fb1dd45">control</a>(controlRequest_t mode, int value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aa724a797235e28a43b8d127e4999537e">control</a>(uint8_t startDev, uint8_t endDev, controlRequest_t mode, int value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4f">controlRequest_t</a> enum name</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aadaf745b81100652dafeff2eb212f457">controlValue_t</a> enum name</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa7293fb34e1b8e326a15e62d58e8bdc47">DECODE</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a835ba225e1886c3d4c0524d57b9a8617">DR0CR0RR0_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6adfffcf49bbb3a083c5438c4d4ea1761f">DR0CR0RR1_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a99968e35cbf6002a77173e3099350de1">DR0CR1RR0_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a66f8112dc245ac5cbf7dee5d27ce347b">DR0CR1RR1_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a6cbe7b143ac9c874817742de3533f6d0">DR1CR0RR0_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a9196241d778553f9133b94e2c1e12185">DR1CR0RR1_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6af02006646552645b9f9f70d3de88f01e">DR1CR1RR0_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a391585dea3220f6f95b14ceac4daedcb">DR1CR1RR1_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6aa31c3dd0315ecc5527dd36689069395a">FC16_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a5b2e511f00bddbcc1fffa78757d71bf5">fontType_t</a> typedef</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6af0b64275e41b18b0e3a0701721f89bb1">GENERIC_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#afee0d78eed2563729e21a765289c9cbe">getBuffer</a>(uint16_t col, uint8_t size, uint8_t *pd)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a40e7ace9bfcba9b66620849232070667">getChar</a>(uint16_t c, uint8_t size, uint8_t *buf)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a2a613b568cd6bff43046c11ec8b455cc">getColumn</a>(uint16_t c)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ab0db87a521190dad074e4b240a8288fb">getColumn</a>(uint8_t buf, uint8_t c)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a2fb151890cf022197b58a546f75e9e20">getColumnCount</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a5508f498566c3b3e80422e6ff9501ec3">getDeviceCount</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a61b9e9a65aaa0a42d73267888bf2acf9">getFont</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a899895fcca3bd4dc424eb78397553077">getFontHeight</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88b4a38d90588e39ffc70986a501ed2e">getMaxFontWidth</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aa1533adc9aa15e29a143e69d9db12881">getPoint</a>(uint8_t r, uint16_t c)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a59eefabcaf003dc37dd17f41c5d6d211">getRow</a>(uint8_t buf, uint8_t r)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a583a8410fad078917bc9f0752395b605">ICSTATION_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa53f3b55b0268f2e1550cf8357c5b4812">INTENSITY</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a96e96c7e70874d7722a51a2d10864687">MD_MAX72XX</a>(moduleType_t mod, int8_t dataPin, int8_t clkPin, int8_t csPin, uint8_t numDevices=1)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a49e31462051ccc8c5f73eff0974d0345">MD_MAX72XX</a>(moduleType_t mod, int8_t csPin, uint8_t numDevices=1)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac7c547ab0e0295918d7bbfa501a981c6">MD_MAX72XX</a>(moduleType_t mod, SPIClass &amp;spi, int8_t csPin, uint8_t numDevices=1)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6">moduleType_t</a> enum name</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aadaf745b81100652dafeff2eb212f457a69c74295de1c864d082152eb358409a1">OFF</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aadaf745b81100652dafeff2eb212f457aa19c4a20e024758f7cb4b82283ef2138">ON</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6ab1adfbd7e43930ccfc2317a62447d9f9">PAROLA_HW</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa5bd97d72ff4cc7d30ee1d24213cee6a7">SCANLIMIT</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a1aaabf8c4df556c3e9a04a1319234261">setBuffer</a>(uint16_t col, uint8_t size, uint8_t *pd)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ae0bb8f197ef89389374f83717f0a1c3d">setChar</a>(uint16_t col, uint16_t c)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ab3f2885a67e435198b5b01505030165d">setColumn</a>(uint16_t c, uint8_t value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7788a0bdbef1a302a7652998b21703bd">setColumn</a>(uint8_t buf, uint8_t c, uint8_t value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a16655f29d088d8ce1d557abcb703513d">setFont</a>(fontType_t *f)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ab68333e23c99212d9574b39ed7e67a96">setModuleType</a>(moduleType_t mod)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a1078a6ad9ae77ff7ef75f78d86f04da7">setPoint</a>(uint8_t r, uint16_t c, bool state)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a9c3c6ea52bfe61fc0279d9deb98a9e6e">setRow</a>(uint8_t r, uint8_t value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a238cb42149b473027fd203406828dc35">setRow</a>(uint8_t startDev, uint8_t endDev, uint8_t r, uint8_t value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#afff77a9eb68408447a15172d7555d794">setRow</a>(uint8_t buf, uint8_t r, uint8_t value)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a8e126c7e12fbca524ef93befad3db825">setShiftDataInCallback</a>(uint8_t(*cb)(uint8_t dev, transformType_t t))</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#af4672c2b149198fb682d9aa2518f3505">setShiftDataOutCallback</a>(void(*cb)(uint8_t dev, transformType_t t, uint8_t colData))</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fad2d5ee4317d7dfb62c9f0dcc88562e1a">SHUTDOWN</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fab55dacc59026df463c57bb8d269af10c">TEST</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a30ab2a71665a29d7acd6fff66335cccb">TFLR</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28adfbb503bdd57b1665c0dd88636028ba6">TFUD</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a682ed1532dcf4562590ab268f3a276cd">TINV</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#aa81af9a9e4309d9971bec7da3eef5890">transform</a>(transformType_t ttype)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a8ffcd0e496053262109b20fc020c1d12">transform</a>(uint8_t startDev, uint8_t endDev, transformType_t ttype)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a67f8567afe489f497f75448a3137a1ef">transform</a>(uint8_t buf, transformType_t ttype)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28">transformType_t</a> enum name</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a69b903b66cb8e47455fedf8afb10e946">TRC</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a7fe0fa883caa12c30399423ef05fa758">TSD</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28ad0e19a3463440fa31e182d03ef304d39">TSL</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28afe33d76fd265c530e38a10f3f8c0b02d">TSR</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a93aa24c2a3b56d91d032b10e7226782f">TSU</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa6e9fa4baa13700cb81d9ca48d849d26f">UPDATE</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a3f91498bfc0023f67d4bf1284ca70317">update</a>(controlValue_t mode)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a4d51360880d7a6fa33a6f917cf423879">update</a>(void)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a9cc242e22748229a223851217b76fd4e">update</a>(uint8_t buf)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa730720f52539695efa6d004046981827">WRAPAROUND</a> enum value</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#a0b5940c115ad58aeb05d7af1e9162f97">wraparound</a>(controlValue_t mode)</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html#afffa5b85187905f713477435187b3759">~MD_MAX72XX</a>()</td><td class="entry"><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

1843
lib/MD_MAX72XX/docs/class_m_d___m_a_x72_x_x.html

File diff suppressed because it is too large Load Diff

82
lib/MD_MAX72XX/docs/class_m_d___m_a_x72_x_x.js

@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
var class_m_d___m_a_x72_x_x =
[
[ "fontType_t", "class_m_d___m_a_x72_x_x.html#a5b2e511f00bddbcc1fffa78757d71bf5", null ],
[ "controlRequest_t", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4f", [
[ "SHUTDOWN", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fad2d5ee4317d7dfb62c9f0dcc88562e1a", null ],
[ "SCANLIMIT", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa5bd97d72ff4cc7d30ee1d24213cee6a7", null ],
[ "INTENSITY", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa53f3b55b0268f2e1550cf8357c5b4812", null ],
[ "TEST", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fab55dacc59026df463c57bb8d269af10c", null ],
[ "DECODE", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa7293fb34e1b8e326a15e62d58e8bdc47", null ],
[ "UPDATE", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa6e9fa4baa13700cb81d9ca48d849d26f", null ],
[ "WRAPAROUND", "class_m_d___m_a_x72_x_x.html#a7c6d702fe0161b19448f35049e00bf4fa730720f52539695efa6d004046981827", null ]
] ],
[ "controlValue_t", "class_m_d___m_a_x72_x_x.html#aadaf745b81100652dafeff2eb212f457", [
[ "OFF", "class_m_d___m_a_x72_x_x.html#aadaf745b81100652dafeff2eb212f457a69c74295de1c864d082152eb358409a1", null ],
[ "ON", "class_m_d___m_a_x72_x_x.html#aadaf745b81100652dafeff2eb212f457aa19c4a20e024758f7cb4b82283ef2138", null ]
] ],
[ "moduleType_t", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6", [
[ "GENERIC_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6af0b64275e41b18b0e3a0701721f89bb1", null ],
[ "FC16_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6aa31c3dd0315ecc5527dd36689069395a", null ],
[ "PAROLA_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6ab1adfbd7e43930ccfc2317a62447d9f9", null ],
[ "ICSTATION_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a583a8410fad078917bc9f0752395b605", null ],
[ "DR0CR0RR0_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a835ba225e1886c3d4c0524d57b9a8617", null ],
[ "DR0CR0RR1_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6adfffcf49bbb3a083c5438c4d4ea1761f", null ],
[ "DR0CR1RR0_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a99968e35cbf6002a77173e3099350de1", null ],
[ "DR0CR1RR1_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a66f8112dc245ac5cbf7dee5d27ce347b", null ],
[ "DR1CR0RR0_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a6cbe7b143ac9c874817742de3533f6d0", null ],
[ "DR1CR0RR1_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a9196241d778553f9133b94e2c1e12185", null ],
[ "DR1CR1RR0_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6af02006646552645b9f9f70d3de88f01e", null ],
[ "DR1CR1RR1_HW", "class_m_d___m_a_x72_x_x.html#a88ea7aada207c02282d091b7be7084e6a391585dea3220f6f95b14ceac4daedcb", null ]
] ],
[ "transformType_t", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28", [
[ "TSL", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28ad0e19a3463440fa31e182d03ef304d39", null ],
[ "TSR", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28afe33d76fd265c530e38a10f3f8c0b02d", null ],
[ "TSU", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a93aa24c2a3b56d91d032b10e7226782f", null ],
[ "TSD", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a7fe0fa883caa12c30399423ef05fa758", null ],
[ "TFLR", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a30ab2a71665a29d7acd6fff66335cccb", null ],
[ "TFUD", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28adfbb503bdd57b1665c0dd88636028ba6", null ],
[ "TRC", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a69b903b66cb8e47455fedf8afb10e946", null ],
[ "TINV", "class_m_d___m_a_x72_x_x.html#ac259d8ecd376228c061c373b564a2e28a682ed1532dcf4562590ab268f3a276cd", null ]
] ],
[ "MD_MAX72XX", "class_m_d___m_a_x72_x_x.html#a96e96c7e70874d7722a51a2d10864687", null ],
[ "MD_MAX72XX", "class_m_d___m_a_x72_x_x.html#a49e31462051ccc8c5f73eff0974d0345", null ],
[ "MD_MAX72XX", "class_m_d___m_a_x72_x_x.html#ac7c547ab0e0295918d7bbfa501a981c6", null ],
[ "~MD_MAX72XX", "class_m_d___m_a_x72_x_x.html#afffa5b85187905f713477435187b3759", null ],
[ "begin", "class_m_d___m_a_x72_x_x.html#adb14d2c3fb56372c3879a3297b7eb7bb", null ],
[ "clear", "class_m_d___m_a_x72_x_x.html#acff691690cb5848980f10be9facbe086", null ],
[ "clear", "class_m_d___m_a_x72_x_x.html#ac57b7cd49a465e7f5f3027a1eac46242", null ],
[ "clear", "class_m_d___m_a_x72_x_x.html#a5ce5b733333d776ef94e0cc36e1043cf", null ],
[ "control", "class_m_d___m_a_x72_x_x.html#aeb43fa0c917e716b9d35eac72fb1dd45", null ],
[ "control", "class_m_d___m_a_x72_x_x.html#aa54ba8b079710f6b4e9f9721e2e09c68", null ],
[ "control", "class_m_d___m_a_x72_x_x.html#aa724a797235e28a43b8d127e4999537e", null ],
[ "getBuffer", "class_m_d___m_a_x72_x_x.html#afee0d78eed2563729e21a765289c9cbe", null ],
[ "getChar", "class_m_d___m_a_x72_x_x.html#a40e7ace9bfcba9b66620849232070667", null ],
[ "getColumn", "class_m_d___m_a_x72_x_x.html#a2a613b568cd6bff43046c11ec8b455cc", null ],
[ "getColumn", "class_m_d___m_a_x72_x_x.html#ab0db87a521190dad074e4b240a8288fb", null ],
[ "getColumnCount", "class_m_d___m_a_x72_x_x.html#a2fb151890cf022197b58a546f75e9e20", null ],
[ "getDeviceCount", "class_m_d___m_a_x72_x_x.html#a5508f498566c3b3e80422e6ff9501ec3", null ],
[ "getFont", "class_m_d___m_a_x72_x_x.html#a61b9e9a65aaa0a42d73267888bf2acf9", null ],
[ "getFontHeight", "class_m_d___m_a_x72_x_x.html#a899895fcca3bd4dc424eb78397553077", null ],
[ "getMaxFontWidth", "class_m_d___m_a_x72_x_x.html#a88b4a38d90588e39ffc70986a501ed2e", null ],
[ "getPoint", "class_m_d___m_a_x72_x_x.html#aa1533adc9aa15e29a143e69d9db12881", null ],
[ "getRow", "class_m_d___m_a_x72_x_x.html#a59eefabcaf003dc37dd17f41c5d6d211", null ],
[ "setBuffer", "class_m_d___m_a_x72_x_x.html#a1aaabf8c4df556c3e9a04a1319234261", null ],
[ "setChar", "class_m_d___m_a_x72_x_x.html#ae0bb8f197ef89389374f83717f0a1c3d", null ],
[ "setColumn", "class_m_d___m_a_x72_x_x.html#ab3f2885a67e435198b5b01505030165d", null ],
[ "setColumn", "class_m_d___m_a_x72_x_x.html#a7788a0bdbef1a302a7652998b21703bd", null ],
[ "setFont", "class_m_d___m_a_x72_x_x.html#a16655f29d088d8ce1d557abcb703513d", null ],
[ "setModuleType", "class_m_d___m_a_x72_x_x.html#ab68333e23c99212d9574b39ed7e67a96", null ],
[ "setPoint", "class_m_d___m_a_x72_x_x.html#a1078a6ad9ae77ff7ef75f78d86f04da7", null ],
[ "setRow", "class_m_d___m_a_x72_x_x.html#afff77a9eb68408447a15172d7555d794", null ],
[ "setRow", "class_m_d___m_a_x72_x_x.html#a9c3c6ea52bfe61fc0279d9deb98a9e6e", null ],
[ "setRow", "class_m_d___m_a_x72_x_x.html#a238cb42149b473027fd203406828dc35", null ],
[ "setShiftDataInCallback", "class_m_d___m_a_x72_x_x.html#a8e126c7e12fbca524ef93befad3db825", null ],
[ "setShiftDataOutCallback", "class_m_d___m_a_x72_x_x.html#af4672c2b149198fb682d9aa2518f3505", null ],
[ "transform", "class_m_d___m_a_x72_x_x.html#aa81af9a9e4309d9971bec7da3eef5890", null ],
[ "transform", "class_m_d___m_a_x72_x_x.html#a67f8567afe489f497f75448a3137a1ef", null ],
[ "transform", "class_m_d___m_a_x72_x_x.html#a8ffcd0e496053262109b20fc020c1d12", null ],
[ "update", "class_m_d___m_a_x72_x_x.html#a3f91498bfc0023f67d4bf1284ca70317", null ],
[ "update", "class_m_d___m_a_x72_x_x.html#a9cc242e22748229a223851217b76fd4e", null ],
[ "update", "class_m_d___m_a_x72_x_x.html#a4d51360880d7a6fa33a6f917cf423879", null ],
[ "wraparound", "class_m_d___m_a_x72_x_x.html#a0b5940c115ad58aeb05d7af1e9162f97", null ]
];

112
lib/MD_MAX72XX/docs/classes.html

@ -0,0 +1,112 @@ @@ -0,0 +1,112 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classes.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_M">M</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_M" name="letter_M">M</a></dt>
<dd><a class="el" href="class_m_d___m_a_x72_x_x.html">MD_MAX72XX</a></dd></dl>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

BIN
lib/MD_MAX72XX/docs/closed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

129
lib/MD_MAX72XX/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html

@ -0,0 +1,129 @@ @@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('dir_68267d1309a1af8e8297ef4c3efbcdba.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">src Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx_8cpp.html">MD_MAX72xx.cpp</a></td></tr>
<tr class="memdesc:_m_d___m_a_x72xx_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements class definition and general methods. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx_8h.html">MD_MAX72xx.h</a></td></tr>
<tr class="memdesc:_m_d___m_a_x72xx_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main header file for the MD_MAX72xx library. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx__buf_8cpp.html">MD_MAX72xx_buf.cpp</a></td></tr>
<tr class="memdesc:_m_d___m_a_x72xx__buf_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements buffer related methods. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx__font_8cpp.html">MD_MAX72xx_font.cpp</a></td></tr>
<tr class="memdesc:_m_d___m_a_x72xx__font_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements font definition and methods. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx__lib_8h.html">MD_MAX72xx_lib.h</a></td></tr>
<tr class="memdesc:_m_d___m_a_x72xx__lib_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Includes library definitions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___m_a_x72xx__pix_8cpp.html">MD_MAX72xx_pix.cpp</a></td></tr>
<tr class="memdesc:_m_d___m_a_x72xx__pix_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements pixel related methods. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

9
lib/MD_MAX72XX/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
var dir_68267d1309a1af8e8297ef4c3efbcdba =
[
[ "MD_MAX72xx.cpp", "_m_d___m_a_x72xx_8cpp.html", null ],
[ "MD_MAX72xx.h", "_m_d___m_a_x72xx_8h.html", "_m_d___m_a_x72xx_8h" ],
[ "MD_MAX72xx_buf.cpp", "_m_d___m_a_x72xx__buf_8cpp.html", null ],
[ "MD_MAX72xx_font.cpp", "_m_d___m_a_x72xx__font_8cpp.html", "_m_d___m_a_x72xx__font_8cpp" ],
[ "MD_MAX72xx_lib.h", "_m_d___m_a_x72xx__lib_8h.html", "_m_d___m_a_x72xx__lib_8h" ],
[ "MD_MAX72xx_pix.cpp", "_m_d___m_a_x72xx__pix_8cpp.html", null ]
];

BIN
lib/MD_MAX72XX/docs/doc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

12
lib/MD_MAX72XX/docs/doc.svg

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
lib/MD_MAX72XX/docs/docd.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

12
lib/MD_MAX72XX/docs/docd.svg

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

2045
lib/MD_MAX72XX/docs/doxygen.css

File diff suppressed because it is too large Load Diff

BIN
lib/MD_MAX72XX/docs/doxygen.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

28
lib/MD_MAX72XX/docs/doxygen.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

192
lib/MD_MAX72XX/docs/dynsections.js

@ -0,0 +1,192 @@ @@ -0,0 +1,192 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
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');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
}
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<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
var opened=true;
// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
var plusImg = [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ];
var minusImg = [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ];
// toggle all folding blocks
function codefold_toggle_all(relPath) {
if (opened) {
$('#fold_all').css('background-image',plusImg[relPath]);
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
} else {
$('#fold_all').css('background-image',minusImg[relPath]);
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
opened=!opened;
}
// toggle single folding block
function codefold_toggle(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
}
function init_codefold(relPath) {
$('span[class=lineno]').css(
{'padding-right':'4px',
'margin-right':'2px',
'display':'inline-block',
'width':'54px',
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
$('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
'onclick="javascript:codefold_toggle_all('+relPath+');" '+
'style="background-image:'+minusImg[relPath]+';"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
$('div[class=foldopen]').each(function() {
// extract specific id to use
var id = $(this).attr('id').replace('foldopen','');
// extract start and end foldable fragment attributes
var start = $(this).attr('data-start');
var end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
$(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
'onclick="javascript:codefold_toggle(\''+id+'\');" '+
'style="background-image:'+minusImg[relPath]+';"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
var line = $(this).children().first().clone();
// remove any glow that might still be active on the original line
$(line).removeClass('glow');
if (start) {
// if line already ends with a start marker (e.g. trailing {), remove it
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
$(line).find('span[class=fold]').css('background-image',plusImg[relPath]);
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold_toggle(\''+id+'\')">&#8230;</a>'+end);
// insert constructed line into closed div
$('#foldclosed'+id).html(line);
});
}
/* @license-end */

117
lib/MD_MAX72XX/docs/files.html

@ -0,0 +1,117 @@ @@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_MAX72xx LED Matrix Arduino Library: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
<td id="projectalign">
<div id="projectname">MD_MAX72xx LED Matrix Arduino Library<span id="projectnumber">&#160;3.5</span>
</div>
<div id="projectbrief">Library to control connected MAX72XX devices as a pixel array</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('files.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_m_d___m_a_x72xx_8cpp.html" target="_self">MD_MAX72xx.cpp</a></td><td class="desc">Implements class definition and general methods </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_m_d___m_a_x72xx_8h.html" target="_self">MD_MAX72xx.h</a></td><td class="desc">Main header file for the MD_MAX72xx library </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_m_d___m_a_x72xx__buf_8cpp.html" target="_self">MD_MAX72xx_buf.cpp</a></td><td class="desc">Implements buffer related methods </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_m_d___m_a_x72xx__font_8cpp.html" target="_self">MD_MAX72xx_font.cpp</a></td><td class="desc">Implements font definition and methods </td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_m_d___m_a_x72xx__lib_8h.html" target="_self">MD_MAX72xx_lib.h</a></td><td class="desc">Includes library definitions </td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_m_d___m_a_x72xx__pix_8cpp.html" target="_self">MD_MAX72xx_pix.cpp</a></td><td class="desc">Implements pixel related methods </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

4
lib/MD_MAX72XX/docs/files.js

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
var files =
[
[ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ]
];

4
lib/MD_MAX72XX/docs/files_dup.js

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
var files_dup =
[
[ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ]
];

BIN
lib/MD_MAX72XX/docs/folderclosed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save