diff options
author | Alexander Kauerz <kauerz@informatik.uni-luebeck.de> | 2012-02-09 23:03:40 +0100 |
---|---|---|
committer | Alexander Kauerz <kauerz@informatik.uni-luebeck.de> | 2012-02-09 23:03:40 +0100 |
commit | 12169019447f2d583a67010db8efb6f06820d76e (patch) | |
tree | 0a6d6f452c4de836ad6597446466f0339d62d5d7 /LoLShield/Examples/charli_heart | |
parent | ba015bf7bf9cd39b35c629356c3e4db8d3e77e34 (diff) | |
download | ledmatrix-12169019447f2d583a67010db8efb6f06820d76e.tar ledmatrix-12169019447f2d583a67010db8efb6f06820d76e.zip |
lolshield
Diffstat (limited to 'LoLShield/Examples/charli_heart')
18 files changed, 330 insertions, 0 deletions
diff --git a/LoLShield/Examples/charli_heart/applet/Charli/Charliplexing.cpp.o b/LoLShield/Examples/charli_heart/applet/Charli/Charliplexing.cpp.o Binary files differnew file mode 100644 index 0000000..c886fbc --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/Charli/Charliplexing.cpp.o diff --git a/LoLShield/Examples/charli_heart/applet/HardwareSerial.cpp.o b/LoLShield/Examples/charli_heart/applet/HardwareSerial.cpp.o Binary files differnew file mode 100644 index 0000000..392863d --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/HardwareSerial.cpp.o diff --git a/LoLShield/Examples/charli_heart/applet/Print.cpp.o b/LoLShield/Examples/charli_heart/applet/Print.cpp.o Binary files differnew file mode 100644 index 0000000..8e1cd86 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/Print.cpp.o diff --git a/LoLShield/Examples/charli_heart/applet/WInterrupts.c.o b/LoLShield/Examples/charli_heart/applet/WInterrupts.c.o Binary files differnew file mode 100644 index 0000000..3693449 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/WInterrupts.c.o diff --git a/LoLShield/Examples/charli_heart/applet/WMath.cpp.o b/LoLShield/Examples/charli_heart/applet/WMath.cpp.o Binary files differnew file mode 100644 index 0000000..c44ea10 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/WMath.cpp.o diff --git a/LoLShield/Examples/charli_heart/applet/charli_heart.cpp b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp new file mode 100644 index 0000000..4d227cc --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp @@ -0,0 +1,99 @@ +/* + Example for Charliplexing library + + Alex Wenger <a.wenger@gmx.de> http://arduinobuch.wordpress.com/ + + History: + 30/Dez/09 - V0.0 wrote the first version at 26C3/Berlin + +*/ +#include "Charliplexing.h" + +#include "WProgram.h" +void setup(); +void heart(); +void loop(); +struct point { + uint8_t xp; // Point Position in X direction (multplied by 16) + uint8_t x_speed; // Speed + uint8_t flag; +} points[9]; + +void setup() // run once, when the sketch starts +{ + LedSign::Init(); + + for(uint8_t i = 0; i < 9; i++) + { + points[i].xp = 0; + points[i].x_speed = random(1, 16); + points[i].flag = 1; + } +} + +uint8_t heart_p[] = { + 4,5, + 3,4, + 2,4, + 5,4, + 6,4, + 7,5, + 1,5, + 7,6, + 1,6, + 6,7, + 2,7, + 5,8, + 3,8, + 4,9, +}; + +void heart() +{ + for(uint8_t y = 0; y < 9; y++) + for(uint8_t x = 3; x < 11; x++) + { + LedSign::Set(x,y,0); + } + for(uint8_t i = 0; i < 14; i++) + { + LedSign::Set(heart_p[i*2+1],heart_p[i*2],1); + } +} + +uint8_t heart_flag; + +void loop() // run over and over again +{ + for(uint8_t i = 0; i < 9; i++) + { + points[i].xp += points[i].x_speed; + if (points[i].xp >= 14*16) + { + points[i].x_speed = random(1, 16); + points[i].xp = 0; + points[i].flag ^= 1; + } + LedSign::Set(points[i].xp/16,i,points[i].flag); + } + + heart_flag++; + if (heart_flag < 20) { + heart(); + } + + delay(40); +} + +int main(void) +{ + init(); + + setup(); + + for (;;) + loop(); + + return 0; +} + diff --git a/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.eep b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.eep new file mode 100644 index 0000000..1996e8f --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.eep @@ -0,0 +1 @@ +:00000001FF
diff --git a/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.elf b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.elf Binary files differnew file mode 100644 index 0000000..ac6a500 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.elf diff --git a/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.hex b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.hex new file mode 100644 index 0000000..cb8a859 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.hex @@ -0,0 +1,148 @@ +:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C9451001C
+:100020000C9451000C9426010C9451000C94510036
+:100030000C9451000C9451000C9451000C945100FC
+:100040000C9403020C9451000C9451000C94510038
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF13E0A0E0B1E0E8E0F7E002C0F2
+:1000800005900D92A831B107D9F713E0A8E1B3E0CC
+:1000900001C01D92A835B107E1F70E94FC010C9444
+:1000A00082030C940000A0E0B0E0E9E5F0E00C94DD
+:1000B0005303EC01A880B980CA80DB80A114B1048D
+:1000C000C104D10441F484E2A82E89EDB82E8BE559
+:1000D000C82E87E0D82EC601B5012DE133EF41E0EF
+:1000E00050E00E940E0327EA31E440E050E00E9415
+:1000F000EF027B018C01C601B5012DE133EF41E038
+:1001000050E00E940E03CA01B9012CEE34EF4FEF0C
+:100110005FEF0E94EF026E0D7F1D801F911F97FF02
+:1001200004C06150704080409048688379838A831E
+:100130009B839B01AC015F77B901CA01CDB7DEB7E4
+:10014000EAE00C946F030E945300089580E091E070
+:100150000E94530008956093000170930101809301
+:10016000020190930301089520E730E0F9018081B6
+:100170008E7F8083E0EBF0E080818C7F8083A1EB39
+:10018000B0E08C91877F8C93E6EBF0E080818F7DEF
+:100190008083F90180818D7F80838C9184608C9332
+:1001A0008C918C7F8C9386E090E0909319038093E0
+:1001B000180380911803909119038093B2008081F5
+:1001C0008160808308959EE0699FF0011124E80F0B
+:1001D000F11DEE0FFF1FEE0FFF1FDF01AE5DBE4FE3
+:1001E0009C91E05EFE4F8081E92FF0E0982F96957C
+:1001F00096959695282F30E0413099F43297EE0F7E
+:10020000FF1FE90FF11DE65EFC4F2770307081E0A3
+:1002100090E002C0880F991F2A95E2F72081282BD1
+:1002200013C03297EE0FFF1FE90FF11DE65EFC4F82
+:100230002770307081E090E002C0880F991F2A95E6
+:10024000E2F7809520812823208308951F920F9242
+:100250000FB60F9211242F934F935F938F939F9319
+:10026000EF93FF9380911803909119038093B2004C
+:10027000809132038F5F809332038D3010F01092A3
+:10028000320380913203482F50E08630B0F4FA01F7
+:10029000EE0FFF1FE65EFC4F20814E5F5F4F81E057
+:1002A00090E002C0880F991F4A95E2F7822B8AB925
+:1002B0002BB9818184B985B915C0FA01EE0FFF1FF2
+:1002C000E65EFC4F80818AB98BB92181465050404F
+:1002D00081E090E002C0880F991F4A95E2F7822BD7
+:1002E00084B925B9FF91EF919F918F915F914F91C3
+:1002F0002F910F900FBE0F901F9018950F931F9383
+:10030000CF93DF9300E00BC0812F602F40E00E946D
+:10031000E3001F5F1B30C1F70F5F093011F013E0DE
+:10032000F3CFC4E0D1E08981688141E00E94E3001D
+:10033000229681E0C032D807B1F7DF91CF911F91AB
+:100340000F9108950F931F93CF93DF93C3E3D3E0EF
+:1003500010E001E089819881890F8883803E78F0E0
+:1003600061E070E080E090E020E130E040E050E0CB
+:100370000E94D102698318828A8180278A838881BA
+:1003800082958F70612F4A810E94E3001F5F239640
+:10039000193001F780914E038F5F80934E038431B3
+:1003A00010F40E947E0168E270E080E090E00E941C
+:1003B0004B02DF91CF911F910F9108951F93CF931F
+:1003C000DF930E94B400C3E3D3E011E0188261E040
+:1003D00070E080E090E020E130E040E050E00E94FA
+:1003E000D10269831A83239683E0CE34D80771F74C
+:1003F000DF91CF911F9108950E9475020E94DE0146
+:100400000E94A201FDCF1F920F920FB60F921124EE
+:100410002F933F938F939F93AF93BF9380915303F9
+:1004200090915403A0915503B09156033091570316
+:100430000196A11DB11D232F2D5F2D3720F02D57C3
+:100440000196A11DB11D20935703809353039093F0
+:100450005403A0935503B093560380914F0390919A
+:100460005003A0915103B09152030196A11DB11DFB
+:1004700080934F0390935003A0935103B093520382
+:10048000BF91AF919F918F913F912F910F900FBE90
+:100490000F901F901895EF92FF920F931F937B017F
+:1004A0008C018FB7F894409153035091540360919D
+:1004B0005503709156038FBF2FB7F8948091530363
+:1004C00090915403A0915503B09156032FBF841B04
+:1004D000950BA60BB70BE816F9060A071B0760F782
+:1004E0001F910F91FF90EF900895789484B58260EA
+:1004F00084BD84B5816084BD85B5826085BD85B5C8
+:10050000816085BDEEE6F0E0808181608083E1E876
+:10051000F0E0808182608083808181608083E0E878
+:10052000F0E0808181608083E1EBF0E08081846095
+:100530008083E0EBF0E0808181608083EAE7F0E097
+:1005400080818460808380818260808380818160FB
+:1005500080838081806880831092C1000895EF922B
+:10056000FF920F931F937B018C016115710581052B
+:10057000910529F420E030E040E050E00BC00E94FB
+:10058000A600A80197010E940E03AC01CB01DA017D
+:100590009C01AD01B901CA011F910F91FF90EF902D
+:1005A0000895EF92FF920F931F937B018C016217C6
+:1005B00073078407950764F4261B370B480B590B08
+:1005C000CA01B9010E94AF02E60EF71E081F191FEB
+:1005D000B701C8011F910F91FF90EF900895629F9E
+:1005E000D001739FF001829FE00DF11D649FE00D2B
+:1005F000F11D929FF00D839FF00D749FF00D659F8C
+:10060000F00D9927729FB00DE11DF91F639FB00D8A
+:10061000E11DF91FBD01CF011124089597FB092E9B
+:1006200005260ED057FD04D014D00AD0001C38F493
+:1006300050954095309521953F4F4F4F5F4F08950E
+:10064000F6F790958095709561957F4F8F4F9F4FEE
+:100650000895A1E21A2EAA1BBB1BFD010DC0AA1F03
+:10066000BB1FEE1FFF1FA217B307E407F50720F01B
+:10067000A21BB30BE40BF50B661F771F881F991F96
+:100680001A9469F760957095809590959B01AC01DF
+:10069000BD01CF0108952F923F924F925F926F92CA
+:1006A0007F928F929F92AF92BF92CF92DF92EF9202
+:1006B000FF920F931F93CF93DF93CDB7DEB7CA1B83
+:1006C000DB0B0FB6F894DEBF0FBECDBF09942A88AE
+:1006D000398848885F846E847D848C849B84AA8456
+:1006E000B984C884DF80EE80FD800C811B81AA81E3
+:1006F000B981CE0FD11D0FB6F894DEBF0FBECDBFAE
+:08070000ED010895F894FFCF0C
+:1007080001000000040503040204050406040705AB
+:10071800010507060106060702070508030804097C
+:100728000D0005000D0006000D0007000D00080073
+:100738000D0009000D000A000D000B000D000C0053
+:100748000D00040004000D000D00030003000D005F
+:100758000D00020002000D000C0005000C00060050
+:100768000C0007000C0008000C0009000C000A002F
+:100778000C000B000C000D000C00040004000C0021
+:100788000C00030003000C000C00020002000C0027
+:100798000B0005000B0006000B0007000B0008000B
+:1007A8000B0009000B000A000B000C000B000D00E9
+:1007B8000B00040004000B000B00030003000B00F7
+:1007C8000B00020002000B000A0005000A000600E8
+:1007D8000A0007000A0008000A0009000A000B00C6
+:1007E8000A000C000A000D000A00040004000A00B8
+:1007F8000A00030003000A000A00020002000A00BF
+:1008080009000500090006000900070009000800A2
+:1008180009000A0009000B0009000C0009000D007E
+:10082800090004000400090009000300030009008E
+:10083800090002000200090008000500080006007F
+:10084800080007000800090008000A0008000B005B
+:1008580008000C0008000D0008000400040008004F
+:100868000800030003000800080002000200080056
+:100878000700050007000600070008000700090038
+:1008880007000A0007000B0007000C0007000D0016
+:100898000700040004000700070003000300070026
+:1008A8000700020002000700060005000600070016
+:1008B800060008000600090006000A0006000B00F2
+:1008C80006000C0006000D000600040004000600E7
+:1008D80006000300030006000600020002000600EE
+:1008E80005000600050007000500080005000900CE
+:1008F80005000A0005000B0005000C0005000D00AE
+:1009080005000400040005000500030003000500BD
+:080918000500020002000500C9
+:00000001FF
diff --git a/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.o b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.o Binary files differnew file mode 100644 index 0000000..866a71e --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/charli_heart.cpp.o diff --git a/LoLShield/Examples/charli_heart/applet/core.a b/LoLShield/Examples/charli_heart/applet/core.a Binary files differnew file mode 100644 index 0000000..55c27ce --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/core.a diff --git a/LoLShield/Examples/charli_heart/applet/pins_arduino.c.o b/LoLShield/Examples/charli_heart/applet/pins_arduino.c.o Binary files differnew file mode 100644 index 0000000..97f5b31 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/pins_arduino.c.o diff --git a/LoLShield/Examples/charli_heart/applet/wiring.c.o b/LoLShield/Examples/charli_heart/applet/wiring.c.o Binary files differnew file mode 100644 index 0000000..8629116 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/wiring.c.o diff --git a/LoLShield/Examples/charli_heart/applet/wiring_analog.c.o b/LoLShield/Examples/charli_heart/applet/wiring_analog.c.o Binary files differnew file mode 100644 index 0000000..83850ca --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/wiring_analog.c.o diff --git a/LoLShield/Examples/charli_heart/applet/wiring_digital.c.o b/LoLShield/Examples/charli_heart/applet/wiring_digital.c.o Binary files differnew file mode 100644 index 0000000..b66890d --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/wiring_digital.c.o diff --git a/LoLShield/Examples/charli_heart/applet/wiring_pulse.c.o b/LoLShield/Examples/charli_heart/applet/wiring_pulse.c.o Binary files differnew file mode 100644 index 0000000..5d4222a --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/wiring_pulse.c.o diff --git a/LoLShield/Examples/charli_heart/applet/wiring_shift.c.o b/LoLShield/Examples/charli_heart/applet/wiring_shift.c.o Binary files differnew file mode 100644 index 0000000..f998551 --- /dev/null +++ b/LoLShield/Examples/charli_heart/applet/wiring_shift.c.o diff --git a/LoLShield/Examples/charli_heart/charli_heart.pde b/LoLShield/Examples/charli_heart/charli_heart.pde new file mode 100644 index 0000000..0847dfd --- /dev/null +++ b/LoLShield/Examples/charli_heart/charli_heart.pde @@ -0,0 +1,82 @@ +/*
+ Example for Charliplexing library
+
+ Alex Wenger <a.wenger@gmx.de> http://arduinobuch.wordpress.com/
+
+ History:
+ 30/Dez/09 - V0.0 wrote the first version at 26C3/Berlin
+
+*/
+#include "Charliplexing.h"
+
+struct point {
+ uint8_t xp; // Point Position in X direction (multplied by 16)
+ uint8_t x_speed; // Speed
+ uint8_t flag;
+} points[9];
+
+void setup() // run once, when the sketch starts
+{
+ LedSign::Init();
+
+ for(uint8_t i = 0; i < 9; i++)
+ {
+ points[i].xp = 0;
+ points[i].x_speed = random(1, 16);
+ points[i].flag = 1;
+ }
+}
+
+uint8_t heart_p[] = {
+ 4,5,
+ 3,4,
+ 2,4,
+ 5,4,
+ 6,4,
+ 7,5,
+ 1,5,
+ 7,6,
+ 1,6,
+ 6,7,
+ 2,7,
+ 5,8,
+ 3,8,
+ 4,9,
+};
+
+void heart()
+{
+ for(uint8_t y = 0; y < 9; y++)
+ for(uint8_t x = 3; x < 11; x++)
+ {
+ LedSign::Set(x,y,0);
+ }
+ for(uint8_t i = 0; i < 14; i++)
+ {
+ LedSign::Set(heart_p[i*2+1],heart_p[i*2],1);
+ }
+}
+
+uint8_t heart_flag;
+
+void loop() // run over and over again
+{
+ for(uint8_t i = 0; i < 9; i++)
+ {
+ points[i].xp += points[i].x_speed;
+ if (points[i].xp >= 14*16)
+ {
+ points[i].x_speed = random(1, 16);
+ points[i].xp = 0;
+ points[i].flag ^= 1;
+ }
+ LedSign::Set(points[i].xp/16,i,points[i].flag);
+ }
+
+ heart_flag++;
+ if (heart_flag < 20) {
+ heart();
+ }
+
+ delay(40);
+}
|