From 60c9b3d1a64ced1862a6c754a2d8d8b25cbcb2ad Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sun, 25 Feb 2024 19:55:21 +0100 Subject: [PATCH] Ref: Remove unecessary files --- FlippR-Driver/contrib/ideen.txt | 1 - init/init.py | 37 ------ pins_displays.png | Bin 30354 -> 0 bytes test/andi/.v1.py.swo | Bin 16384 -> 0 bytes test/andi/.v1.py.swp | Bin 16384 -> 0 bytes test/andi/check_remote.sh | 13 --- test/andi/v1.py | 174 --------------------------- test/andi/v1.pyc | Bin 5845 -> 0 bytes test/initialize.py | 187 ------------------------------ test/initialize.py.bak | 186 ----------------------------- test/initialize.pyc | Bin 7437 -> 0 bytes test/manual-test.py | 4 - test/old/old_initialize.sh | 28 ----- test/old/old_rotate_output.sh | 53 --------- test/old/test_input.sh | 27 ----- test/output/.output_manual.py.swl | Bin 12288 -> 0 bytes test/output/.output_manual.py.swm | Bin 12288 -> 0 bytes test/output/.output_manual.py.swn | Bin 12288 -> 0 bytes test/output/.output_manual.py.swo | Bin 12288 -> 0 bytes test/output/.output_manual.py.swp | Bin 12288 -> 0 bytes test/output/old/output_manual.py | 41 ------- test/output/old/output_manual.pyc | Bin 1677 -> 0 bytes test/output/old/rotate_output.py | 27 ----- test/output/output_manual.py | 156 ------------------------- test/output/output_manual.py.bak | 156 ------------------------- test/output_manual.pyc | Bin 884 -> 0 bytes test/test.py | 4 - test/test.pyc | Bin 170 -> 0 bytes test/test_displays | Bin 7992 -> 0 bytes test/test_displays.c | 91 --------------- test/test_sound.py | 4 - 31 files changed, 1189 deletions(-) delete mode 100644 FlippR-Driver/contrib/ideen.txt delete mode 100755 init/init.py delete mode 100644 pins_displays.png delete mode 100644 test/andi/.v1.py.swo delete mode 100644 test/andi/.v1.py.swp delete mode 100755 test/andi/check_remote.sh delete mode 100644 test/andi/v1.py delete mode 100644 test/andi/v1.pyc delete mode 100755 test/initialize.py delete mode 100755 test/initialize.py.bak delete mode 100644 test/initialize.pyc delete mode 100644 test/manual-test.py delete mode 100755 test/old/old_initialize.sh delete mode 100755 test/old/old_rotate_output.sh delete mode 100755 test/old/test_input.sh delete mode 100644 test/output/.output_manual.py.swl delete mode 100644 test/output/.output_manual.py.swm delete mode 100644 test/output/.output_manual.py.swn delete mode 100644 test/output/.output_manual.py.swo delete mode 100644 test/output/.output_manual.py.swp delete mode 100644 test/output/old/output_manual.py delete mode 100644 test/output/old/output_manual.pyc delete mode 100755 test/output/old/rotate_output.py delete mode 100644 test/output/output_manual.py delete mode 100644 test/output/output_manual.py.bak delete mode 100644 test/output_manual.pyc delete mode 100644 test/test.py delete mode 100644 test/test.pyc delete mode 100755 test/test_displays delete mode 100644 test/test_displays.c delete mode 100644 test/test_sound.py diff --git a/FlippR-Driver/contrib/ideen.txt b/FlippR-Driver/contrib/ideen.txt deleted file mode 100644 index 95eec6d..0000000 --- a/FlippR-Driver/contrib/ideen.txt +++ /dev/null @@ -1 +0,0 @@ - input events entprellen über flanken statt zeit diff --git a/init/init.py b/init/init.py deleted file mode 100755 index 45ffb48..0000000 --- a/init/init.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/python3 - -from time import sleep -import os -import subprocess -import re -import wiringpi - -p = subprocess.Popen(['gpio', 'i2cdetect'],stdout=subprocess.PIPE,) -#cmdout = str(p.communicate()) - -mcps = list() -p.stdout.readline() -for i in range(1,9): - line = str(p.stdout.readline()).split(' ')[1:] - base_multiplier = 1 - for mcp in line: - base_multiplier += 1 - if re.search('\d\d', mcp): - base = 64+16*base_multiplier - mcps.append((mcp,base)) - -wiringpi.wiringPiSetup() -for mcp in mcps: - print("Setting base for MCP: ", mcp[0], " with base: ", mcp[1]) - wiringpi.mcp23017Setup(mcp[1], int(mcp[0], 16)) - for pin in range(16): - wiringpi.pinMode(mcp[1] + pin, 1) - wiringpi.digitalWrite(mcp[1] + pin, 1) - sleep(0.1) - -except_pins = [2, 3] - -for i in range(32): - wiringpi.pinMode(i, 1) - wiringpi.digitalWrite(pin, 1) - sleep(0.1) diff --git a/pins_displays.png b/pins_displays.png deleted file mode 100644 index 1e6d800bb383713d74c0d3c3498ad33168c6c045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30354 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 io##JZz@H6y$EPfpNF9Hn-huQG zxZOu1|3vB~=?ORN_$SWP7Nh;c6IlzZfK}i!DR4|IIkoEC>`n6cYwo>FKCK(8fK|XM zU=^?mSOu&CRspMkRp3fdAdP0k3j{j@pMaMbUf{Ty^9Ri}KlZQ+SOu&CRspMkRlq7> z6|f3e1*`&A0jq#j;0jg1?FexrvA?fckmOq01v~*A%^?lo#4Q6xC;JpJ>`H4un+4X;hF1*0X`3BU=!A08D0nfxfUJZ zr|@0)EIbGi+y$?Ne_bQQZ{Z1e1kQmE8}NQugKOaFmkaSEd;>lWJMeaRBfJ4-;K`Q> z@fCOoJ`DGR1IOSmFBRfP@Hl)OA~+4p@ch+6JO>xy%Md~f-UK(n)$pgQg!nN$2491Z zK^r~@r(qthhwI?qw1a2h+wd*;4D3N0ZUfa$ZiTT!%H1&W0{2jWd?YNsnWzq4rq_%QQdVRm5?v)!<97h!UVOmPkxD@$eS>7V&<-)=` ze{YfM=3ca@9k{{Wp4-tjWtH7lFP0>b{NpES=&WK)n(DHYdGD8?pS#!gyKXQk-u#IQ zIqhw42VP$0QpY@N=z#T~BCPvkKlM~x6}jVY?@Wj-_tVT|%R-$f?O_=Ny}hIQ?-zZz z@>CA|n-G3766S`gmb~P0LDn`a(&RrUW$dN9afm0*vl^WB!)P~^UL5!0iVSz-tpQWYMKn1RA=*y8~7bR-OqEa$XZ1%Qde7@r zzRL}g?1t$I%v&vcbO^mI8N1=Or(b^F{ruTmRd3?Ol72kDwJvv~$cwXH(Bw7dJL_gt z58~ztbJyv9nAV{K&Q}*Vbe;>lMvF6{KpwQ=t?o`r}eF-eqi>66)Re z-f@IjwTH>U<_;!DOTr1^ayN_D)N$91N`c#LbzFJ2p_+xn+gVl2`P#fxGU}nVB30+Y zq(G@=PU&?RI=ZeNsw#4Ru9{CAbSITCi*WR$qBURMa2lIJ&q#**DLozW(?m-+F(mb3 zj>klxmp!Ds3mA%NVzu^1-Jv9OuHt#&~|%1v&-!}{r53liEfSj9xhZ1$h zIaQq3>-wA*Mm?wvT&ymui_u9NRvS#39EQT01E(tTB+vu@e)sG2ig zoO&G-$?&MDVsVJnA+Oqs$z$B4PN;Rv>b2=6lv$fBZ5|fGaHeEDAV#LOqco>P{0zvh z1R$**{RUe|zp>Cc)lQW~alJ;wB5yz>t)8XM#a7(w%GB?oO*iVr%#Z@li-ftznt0?( z6x@r1TL1r&_3%enE35VY&HVh8wY^&ZKL(G&H{o;e04%}lVFv!m`u-`n2tRZcr!f58vbceYyXEJfHgP{&yx33a1nk6KZNhVm*9)=DNym91AABntO8a6tAJI& zDqt0`3RnfK0#~F0YK=d5h`|eWo_+8!dsccANSo-L2EA9&zbuyN=1Y!BUL1M>R7$el zv*NZK`*5Q_LJbjCsCwYJP{K zR9hYD6NdV5m8}e&$|uTS0%$$`ud-?J$vg@8L zu|ra-^95`$rTzw4Bs)NKz2CIuhVA`aZ&m$N8~KiWXVg3XqjIVOjc7>w$aa?qz~MqU KuBcXn*Z%>BdD)2o diff --git a/test/andi/.v1.py.swp b/test/andi/.v1.py.swp deleted file mode 100644 index c8f970322da55ffe3b7953a330b548e26ac91439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2O^6&t6vr#kBz`1*B!UMK%iV;XNoF_QyZDuNOZ9z;YUD1jgb5y3<75FrPn=tWVYl87FRUQ}|BpdcdX|5aDd?Ci|!u1PMz z8uHtju736E)xWB%s;g2k9(iyFAMP7q_}s$S$u)=fi$9mKqt`IzyOg;2XVP>tFr92^GA6nOn-w}KbcHNNymE1(t73TOqi0$KsBfL1^&pcT*x zXa%$aT7j!n0o!5hdc;0R8vr=}r#*mQZ)WT(a0Z+PC%}tf0z3xp19ySHZ({6Qa1MM3 zUIQW64R(R`;Ey$o{S3YXUx1ImY4AQc4&DOCz^kAP_Je!DD9C~gSO*yRWi?|zg7e@@ za0(m)FM+4P<6svU1$Tlq;IA7Q`yQME&w&TPM)2DWhylC_o&_ba4QvG)zzXm?ggFB~ z0I!2rz(Ft$)`Ml>hwD%;a2z}jLLh(xwt=cb2)2W*fPwSZGWISw1ggLUw}Fe;#Q7SW1V_LO7zg)&4PZT3 z2N?Ji?f(gQ8@vpj21QT++X3~D0U$q|hr$!ZC?ASaSyZAFzSGPRle|(ZTewK!I|HLq zI>#92wTiO0JumOLq3_wVVJeL~D&28QZj{2`rZj1X)X{MQ{uGWCmq<{9$`DuCQZdnRs)U<9RKhY=43qrnB?g)HLnKs z(nZlN+g`hPlRKnGR4tV}k<>ZmsCzk-%XuTBM*}w!6jFvyxuvN#VI?jgIVm4U*;dsB ze0$aDrMm9WWaPX}*x|hJ#;GNe%JN=rPGq<$yqohtM75v-Pxu`-T9;e#YY`VgPz^G? zQbn`M#;^Ar;dD{t-7dOVHR8o7QG7D53do}c^9O9tb=+t+DK*2*3?D?}Q7hCdGr#pN zqdG}D{kQtWEp~aesXsI7`Kb4)c5UN?_-uA;&^?%0WgZnyPY38F6G-nK%?=qk6VHYShW23^%BWFrFpVc0;@1 z3I5Pt8Igc03+FeR^NY&d?9i%FZZg@S*fbv-<3>Crs)@;qXo90q8ae8dQ9h_)Lh2Ce zo_#x)5UcdiKG?)T`)HA|O}I#n<5g{3w*8c6mkW-~XL8gnIK0hJHG9k+PBO~*G{b3d z!6JZEQ$I24VBRR(a-PcYo^B&qD9Ax7#HzuPi-@;YOj9ux&{6 zV7A7DK(Ba6$q>*KQ`=^(PsMFlK5hjgGy+_pUvylg#9d2zkl}RhTB=)hj^LmOs&etw zp>JY-r^f8;pjr{};*G+QYfUKz)>u2Lj#_KAcOmVjU92WcyWNMeR`Iv_ZWS)52gKfT ztgEYwU7F`|(YN{yb69##73@&tZO6f~$F+*`S8G9xdiIzclt@=5d)1g4J@MbPX-vU= zYpC%%o0Y%uz|akI&c(Wu{lPn_5!YpfcHbIr8N&m!RF*Fy7g6C)v3vI!fH58WxYdPo5 z?HBbff+5KqO0&lG7-D2ew?S581})7dgKC*aZW(Hn{c3=9ktc-D)J5E}eV0SCX`j*i z{~dTwr}uVx|EDwm3wXCb2hM_z!5ct;onQcTgH>Q9xPW}$fK%WoI1I>F0Q5&IpcT*x zXa%$aS^=$qRzNGD70?Q31^(9x(2fpH{^+GNW%L<_+8*Td56k2>wls|o8|A(noh;_< zAQ*S$*}|OL$-c82Z;jH9PA(^IVopvH$3aN)lz7Z{b|ZHnNxuL9 diff --git a/test/andi/check_remote.sh b/test/andi/check_remote.sh deleted file mode 100755 index c2ed5e3..0000000 --- a/test/andi/check_remote.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -#echo "hello world" - -cd /home/pi/firmware/flippr-code -OUTPUT="$(git pull)" -if [ "$OUTPUT" != "Already up-to-date." ]; then - echo "repo has updated. compile now..." - cd /home/pi/firmware/flippr-code/FlippR-Driver/build - cmake .. - make -fi -echo "repo on track, nothing to do here..." diff --git a/test/andi/v1.py b/test/andi/v1.py deleted file mode 100644 index c7fdaed..0000000 --- a/test/andi/v1.py +++ /dev/null @@ -1,174 +0,0 @@ -import wiringpi as wp -from time import sleep - -i2c_addr = 0x21 -base_addr = 81 -pins = range(base_addr, base_addr + 16) -pins = [22, 27, 17, 19, 13, 6, 5, 20, 21, 26, 1, 12, 16, 4] - -""" has to be inverted -pins_segment_select = [81, 82, 83]""" -pins_segment_select = [83, 82, 81] -pins_segment_select = [22, 27, 17] - -""" has to be inverted -pins_digit_select = [84, 85, 86, 87] """ -#pins_digit_select = [87, 86, 85, 84] -pins_digit_select = [19, 13, 6, 5] - -#pins_display_select = [89, 90, 91, 92, 93] -pins_display_select = [1, 20, 12, 16, 4] -pin_run = 95 -pin_run = 21 -pin_lt = 88 -pin_lt = 26 - -high = False -low = not high - -""" -def init(): - wp.mcp23017Setup(base_addr, i2c_addr) - for pin in pins: - wp.pinMode(pin, 1) -init() -""" -def init(): - wp.wiringPiSetupGpio() - for pin in pins: - wp.pinMode(pin, 1) -init() - -def init_ones(): - for pin in pins: - wp.digitalWrite(pin, 1) -def init_zeros(): - for pin in pins: - wp.digitalWrite(pin, 0) -def init_high(): - for pin in pins: - wp.digitalWrite(pin, high) -def init_low(): - for pin in pins: - wp.digitalWrite(pin, low) -def dec2bin_high(dec, digits): - bin_str = format(dec, '#0' + str(digits + 2) + 'b')[2:] - return map(lambda x: high if x == '1' else low, bin_str) -def dec2bin_low(dec, digits): - bin_str = format(dec, '#0' + str(digits + 2) + 'b')[2:] - return map(lambda x: low if x == '1' else high, bin_str) -def toggle_run(): - if wp.digitalRead(pin_run) == 0: - #print("enable RUN") - wp.digitalWrite(pin_run, 1) - else: - #print("disable RUN") - wp.digitalWrite(pin_run, 0) -def toggle_lt(): - if wp.digitalRead(pin_lt) == 0: - #print("enable LT") - wp.digitalWrite(pin_lt, 1) - else: - #print("disable LT") - wp.digitalWrite(pin_lt, 0) -def check_decimal_for_validity(decimal, lower, upper): - if type(decimal) is not type(1): - print("input not a decimal") - return False - if decimal < lower or decimal > upper: - print("decimal out of range") - return False - return True - -def select_segment(decimal): - #if not check_decimal_for_validity(decimal, 0, 7): - # print("input error, no segment selected") - # return - values = dec2bin_high(decimal, 3) - pss = pins_segment_select - wp.digitalWrite(pss[0], values[0]) - wp.digitalWrite(pss[1], values[1]) - wp.digitalWrite(pss[2], values[2]) - -def select_digit(decimal): - #if not check_decimal_for_validity(decimal, 0, 9): - # print("input error, no digit selected") - # return - values = dec2bin_low(decimal, 4) - pds = pins_digit_select - wp.digitalWrite(pds[0], values[0]) - wp.digitalWrite(pds[1], values[1]) - wp.digitalWrite(pds[2], values[2]) - wp.digitalWrite(pds[3], values[3]) - -def select_display(decimal): - #if not check_decimal_for_validity(decimal, 1, 5): - # print("input error, no display selected") - # return - wp.digitalWrite(pins_display_select[int(decimal) - 1], high) - -def unselect_display(decimal): - #if not check_decimal_for_validity(decimal, 1, 5): - # print("input error, no display unselected") - # return - wp.digitalWrite(pins_display_select[int(decimal) - 1], low) - -def unselect_all_displays(): - for pin in pins_display_select: - wp.digitalWrite(pin, low) - -def select_all_displays(): - for pin in pins_display_select: - wp.digitalWrite(pin, high) - -def toggle_display(decimal): - select_display(decimal) - unselect_display(decimal) - -def read_pins(): - for pin in pins: - print(str(pin) + ' --> ' + str(wp.digitalRead(pin))) - -def digit2display(disp, dig): - select_display(disp) - select_digit(dig) - unselect_all_displays() - -def num2seg(num, seg): - select_segment(seg) - select_digit(num) - toggle_display(3) - -def fancy(number,disp): - num_arr = map(int, list(str(number))) - num_arr = num_arr + [0] * max(0, (8 - len(num_arr))) - if len(num_arr) > 8: - num_arr = num_arr[:8] - print(num_arr) - num_arr = num_arr[-1::-1] - - for j in range(5000): - for i in range(8): - select_segment(i) - select_digit(num_arr[i]) - toggle_display(disp) - sleep(0.001) - -def al(number,s): - num_arr = map(int, list(str(number)))[-1::-1] - for i in range(5000): - for segment in range(8): - for disp in range(2,6): - select_segment(segment) - select_digit(num_arr[segment]) - num_arr = num_arr[-1::-1] - toggle_display(disp) - sleep(s) - -def ini(): - init() - init_low() - toggle_run() - - - diff --git a/test/andi/v1.pyc b/test/andi/v1.pyc deleted file mode 100644 index d5001a97f798bdea95f93e8010d15c16acc95671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5845 zcmcgwTW=gm8U1=LcE*V>iIdpQb#ies8#YVgWr2k#8*M@ykk(q-h#*VZ(Rive>11x6 zZYMU1C8PuiUU=ktgy|D2xs z```Y!QMc?jgYz96$)5rlDR2!hs_-^H*Idl+^o4db4NMa9ka%a#?PBO&gmMM7kBk<&zd8XH1J3? zF#~2BOj5KBJmrLK;6a!W@}zCxiL;c^v~A2-G-F3L@azS9jTOyVG-t023t3bfGc8Fu zX6}>}AUZ7txXws9VeYJyljhDzSul5A%A&cllqGW)q?|H$QOap^m!zCAcUj6=bIVfB znY$w8yt%7V%H}FkE|_~q%0+Y6q+Bxh4Jnt+y(?we+;u5eXs7kcdoW!5Z~WFOu%4ww z8nPKh-S`5p{Fq{n;v~gsilY?s6w?$F6ud1yPH}?b6b0vtk5CjS)+s`YD#gzri*8Do zFXCR@ZhRWAN9lHVwHtR*j_AhiB%SoiCmk30mFIm&1t*h8xTxnh-|Oz`uDBhim(i1O z!4^yf)4`kgmvM=xZGbwkr@2wolW(HtlS2uafRwqo5vR50!(N~jk{wGXn-el-LWn^bfHXgDiII_=^ zxbfrwTmz~&_Qu%9gv*iUhp{-5c)_(oq743ye(+UZJzorq;h0y$4t$c)?x@>9DFF#Z&CsAIWLTA zuAiN&z3sM7IJ{}>66l3#r_pFe988E=f>(+9}RWB(jk1?p=fThZi}Pmd8@JqeKa>n!ECz3KvWv@am6IWdMb8yZ1FpEXHNOKSPQNQ;78ZY=uq8CLUlU=< z^It+&c$LG+Ue}E$iitEMN|QZeo1H_NGNNdWf%C`~{rrXpAchcRaHPd0c=%vN1fT6U z=?FuM4sGt@q}#0RW{VKkxSfvVc0TGL8)uU|!B7=$E6BEAE98)yvyd+V!%8ln91D&W zX}djOR%>jJz=NvI#DLLdbd28)gA)?EHD+%oNP{pL!9}*m;$o#6;Hov7)r`6XZr?9x zUv0Pk-@{|{9k9V;D#%D11-G*g92d-k-lbHgEYeT;0kW8PM_)-fa?S4=_{tP=GwV@& zsb^&cC!+@w_Su;V>Szc6Sr&lrK-sy$)N$`oMQ>nz34?KY%$F$sYCtRVIdCpfP-p;1l|X;GRc^PjkQ`zEmTb;a_28 zjvEk9n{bG>cX3a66GBv~jFB4!EHcMfXX8t+vdT(E<7;#bUJ5~E9~I9+b`c7ZWqA55 z5}B{#9vsK7`K%~}@1PwD;rq}$LSATZw*(M{Wh_9JUyND7^)wPyo#v z6SI0B1Az!mR87{)z#1?$zT4uRh>B zd3_Jc+b>aJacSov>mFWGFxS0DKeWBP?c7n9roZ=S#r6t@jo?cS3DQHH3XLV1w=|#= z-*AeYB-r|`J=}Vgy)thdyK zd`v@B$@} z6N5mXlq!tBOfj^`pdu-?hAX_v6c&Dqf@LNA9>raX`xL7X zqGBjUNFj_{t&ZDnMz=|QvIcP^n9EII&pRL7z}|PZcr1ScE&ZW?vQ#Qe=1TdIzsV9h VOH-x8r3w5MvcF=fSeh*z{tq2?NCf}@ diff --git a/test/initialize.py b/test/initialize.py deleted file mode 100755 index a26bd61..0000000 --- a/test/initialize.py +++ /dev/null @@ -1,187 +0,0 @@ -import wiringpi -import tty -import itertools -import sys -from time import sleep - -class Test(object): - - def __init__(self, i2c_addr, base): - self.i2c_addr = i2c_addr - self.base = base - self.pins = range(base, base+16) - self.init_component() - - def init_component(self): - wiringpi.mcp23017Setup(self.base, self.i2c_addr) - for i in self.pins: - wiringpi.pinMode(i,1) - wiringpi.digitalWrite(i, 1) - print(self.pins) - - def write(self, pin, value): - print(str(self.pins[pin]) + " " + str(value)) - wiringpi.digitalWrite(self.pins[pin], value) - -class Test_Display(Test): - def __init__(self, i2c_addr = 0x21, base = 65 + 16): - super(Test_Display, self).__init__(i2c_addr, base) - self.pin_dic = {'d0' : base, 'd1' : base + 1, 'd2' : base + 2, 'bcd0': base + 3, 'bcd1': base + 4, 'bcd2' : base + 5, 'bcd3' : base + 6, 'bcdLT' : base + 7, 'disp1' : base + 8, 'disp2' : base + 9, 'disp3' : base + 10, 'disp4' : base + 11, 'disp5' : base + 12, 'disp6' : base + 13, 'run' : base + 14} - - def write_number(self, number): - print('Writing number: ' + str(number)) - wiringpi.digitalWrite(self.pin_dic['bcd0'], bool(number % 2)) - number = number / 2 - wiringpi.digitalWrite(self.pin_dic['bcd1'], bool(number % 2)) - number = number / 2 - wiringpi.digitalWrite(self.pin_dic['bcd2'], bool(number % 2)) - number = number / 2 - wiringpi.digitalWrite(self.pin_dic['bcd3'], bool(number % 2)) - - def select_digit(self, digit): - print('Selecting 7 segment number: ' + str(digit)) - wiringpi.digitalWrite(self.pin_dic['d0'], bool(digit % 2)) - digit = digit / 2 - wiringpi.digitalWrite(self.pin_dic['d1'], bool(digit % 2)) - digit = digit / 2 - wiringpi.digitalWrite(self.pin_dic['d2'], bool(digit % 2)) - - def disp_select(self, number): - print('Selecting Display: ' + str(number)) - for i in range(1, 6): - if(i == number): - wiringpi.digitalWrite(self.pin_dic['disp' + str(i)], 0) - else: - wiringpi.digitalWrite(self.pin_dic['disp' + str(i)], 1) - #sleep(.1) - - def run(self): - wiringpi.digitalWrite(self.pin_dic['run'], 0) - #sleep(.001) - wiringpi.digitalWrite(self.pin_dic['run'], 1) - - def toggleLT(self): - sleep(.1) - wiringpi.digitalWrite(self.pin_dic['bcdLT'], 0) - sleep(.1) - wiringpi.digitalWrite(self.pin_dic['bcdLT'], 1) - def clear_disp_select(self): - print("Clearing Display") - for i in range(1, 7): - wiringpi.digitalWrite(self.pin_dic['disp' + str(i)], 1) - - def test_digit1(self): - for i in range(0, 8): - for j in range(0, 10): - self.select_digit(i) - self.clear_disp_select() - self.write_number(j) - self.disp_select(1) - self.run() - def test(self): - for k in range(1, 6): - for i in range(0, 8): - self.select_digit(i) - for j in range(0, 10): - self.write_number(j) - # self.toggleLT() - self.disp_select(k) - self.clear_disp_select() - self.run() - - def test123(self): - self.clear_disp_select() - self.select_digit(0) - self.write_number(7) - wiringpi.digitalWrite(self.pin_dic['run'], 0) - self.disp_select(1) - - def manual_test(self, display, digit, number): - self.select_digit(digit) - self.write_number(number) - self.disp_select(display) - self.clear_disp_select() - self.run() - def test_digits(self): - tty.setcbreak(sys.stdin.fileno()) - self.write_number(3) - for i in range(0,8): - self.select_digit(i) - self.disp_select(0) - self.run() - sleep(.5) - def permutation_test(self): - self.select_digit(3) - self.write_number(0) - functions = [self.disp_select, self.clear_disp_select, self.run, self.toggleLT] - i = 0 - for permutation in itertools.permutations(functions, 4): - print(str(i)) - for function in permutation: - function(3) - print(permutation) - i = i+1 - raw_input() - -class Sound_Test(Test): - def __init__(self, i2c_addr = 0x22, base = 65): - super(Sound_Test, self).__init__(i2c_addr, base) - self.pins = [x + base for x in [15, 14, 12, 10, 8, 9, 11, 13]] - - def fire(self): - self.write(7, 0) - - - def stop(self): - self.write(7, 1) - - def init_component(self): - super(Sound_Test, self).init_component() - wiringpi.digitalWrite(self.base + 12, 1) - - def fire_sound(self, i): - self.write(0, bool(i & 0b00000001)) - self.write(1, bool(i & 0b00000010)) - self.write(2, bool(i & 0b00000100)) - self.write(3, bool(i & 0b00001000)) - self.write(4, bool(i & 0b00010000)) - self.write(5, bool(i & 0b00100000)) - self.write(6, bool(i & 0b01000000)) - self.write(7, bool(i & 0b10000000)) - self.fire() - a = raw_input() - self.stop() - - def rotate(self): - for i in range(22, 78): - self.fire_sound(i) - - """ - def init_flipper(self): - init_driver() - init_display() - init_sound() - - def init_driver(self): - i2c_driver = 0x20 - base_driver = 65 - wiringpi.mcp23017Setup(base_driver, i2c_driver) - - def init_display(self): - i2c_display= 0x21 - base_display = 65 + 16 - wiringpi.mcp23017Setup(base_display, i2c_display) - for i in range(base_display, base_display+16): - wiringpi.pinMode(i,1) - wiringpi.digitalWrite(i, 0) - - def init_sound(self): - i2c_sound = 0x22 - base_sound = 65 + 32 - wiringpi.mcp23017Setup(base_sound, i2c_sound) - for i in range(base_sound, base_sound+16): - wiringpi.pinMode(i,1) - wiringpi.digitalWrite(i, 0) - # set fire to 1 (out) - - def """ diff --git a/test/initialize.py.bak b/test/initialize.py.bak deleted file mode 100755 index 86d17e6..0000000 --- a/test/initialize.py.bak +++ /dev/null @@ -1,186 +0,0 @@ -import wiringpi -import tty -import itertools -import sys -from time import sleep - -class Test(object): - - def __init__(self, i2c_addr, base): - self.i2c_addr = i2c_addr - self.base = base - self.pins = range(base, base+16) - self.init_component() - - def init_component(self): - wiringpi.mcp23017Setup(self.base, self.i2c_addr) - for i in self.pins: - wiringpi.pinMode(i,1) - wiringpi.digitalWrite(i, 1) - print(self.pins) - - def write(self, pin, value): - print(self.pins[pin]) - wiringpi.digitalWrite(self.pins[pin], value) - -class Test_Display(Test): - def __init__(self, i2c_addr = 0x21, base = 65 + 16): - super(Test_Display, self).__init__(i2c_addr, base) - self.pin_dic = {'d0' : base, 'd1' : base + 1, 'd2' : base + 2, 'bcd0': base + 3, 'bcd1': base + 4, 'bcd2' : base + 5, 'bcd3' : base + 6, 'bcdLT' : base + 7, 'disp1' : base + 8, 'disp2' : base + 9, 'disp3' : base + 10, 'disp4' : base + 11, 'disp5' : base + 12, 'disp6' : base + 13, 'run' : base + 14} - - def write_number(self, number): - print('Writing number: ' + str(number)) - wiringpi.digitalWrite(self.pin_dic['bcd0'], bool(number % 2)) - number = number / 2 - wiringpi.digitalWrite(self.pin_dic['bcd1'], bool(number % 2)) - number = number / 2 - wiringpi.digitalWrite(self.pin_dic['bcd2'], bool(number % 2)) - number = number / 2 - wiringpi.digitalWrite(self.pin_dic['bcd3'], bool(number % 2)) - - def select_digit(self, digit): - print('Selecting 7 segment number: ' + str(digit)) - wiringpi.digitalWrite(self.pin_dic['d0'], bool(digit % 2)) - digit = digit / 2 - wiringpi.digitalWrite(self.pin_dic['d1'], bool(digit % 2)) - digit = digit / 2 - wiringpi.digitalWrite(self.pin_dic['d2'], bool(digit % 2)) - - def disp_select(self, number): - print('Selecting Display: ' + str(number)) - for i in range(1, 6): - if(i == number): - wiringpi.digitalWrite(self.pin_dic['disp' + str(i)], 0) - else: - wiringpi.digitalWrite(self.pin_dic['disp' + str(i)], 1) - #sleep(.1) - - def run(self): - wiringpi.digitalWrite(self.pin_dic['run'], 0) - #sleep(.001) - wiringpi.digitalWrite(self.pin_dic['run'], 1) - - def toggleLT(self): - sleep(.1) - wiringpi.digitalWrite(self.pin_dic['bcdLT'], 0) - sleep(.1) - wiringpi.digitalWrite(self.pin_dic['bcdLT'], 1) - def clear_disp_select(self): - print("Clearing Display") - for i in range(1, 7): - wiringpi.digitalWrite(self.pin_dic['disp' + str(i)], 1) - - def test_digit1(self): - for i in range(0, 8): - for j in range(0, 10): - self.select_digit(i) - self.clear_disp_select() - self.write_number(j) - self.disp_select(1) - self.run() - def test(self): - for k in range(1, 6): - for i in range(0, 8): - self.select_digit(i) - for j in range(0, 10): - self.write_number(j) - # self.toggleLT() - self.disp_select(k) - self.clear_disp_select() - self.run() - - def test123(self): - self.clear_disp_select() - self.select_digit(0) - self.write_number(7) - wiringpi.digitalWrite(self.pin_dic['run'], 0) - self.disp_select(1) - - def manual_test(self, display, digit, number): - self.select_digit(digit) - self.write_number(number) - self.disp_select(display) - self.clear_disp_select() - self.run() - def test_digits(self): - tty.setcbreak(sys.stdin.fileno()) - self.write_number(3) - for i in range(0,8): - self.select_digit(i) - self.disp_select(0) - self.run() - sleep(.5) - def permutation_test(self): - self.select_digit(3) - self.write_number(0) - functions = [self.disp_select, self.clear_disp_select, self.run, self.toggleLT] - i = 0 - for permutation in itertools.permutations(functions, 4): - print(str(i)) - for function in permutation: - function(3) - print(permutation) - i = i+1 - raw_input() - -class Sound_Test(Test): - def __init__(self, i2c_addr = 0x22, base = 65 + 32): - super(Sound_Test, self).__init__(i2c_addr, base) - self.pins = [x + base for x in [15, 14, 12, 10, 8, 9, 11, 13]] - - def fire(self): - self.write(7, 0) - - - def stop(self): - self.write(7, 1) - - def init_component(self): - super(Sound_Test, self).init_component() - wiringpi.digitalWrite(self.base + 12, 1) - - def rotate(self): - for i in range(22, 78): - self.write(0, i & 0b00000001) - self.write(1, i & 0b00000010) - self.write(2, i & 0b00000100) - self.write(3, i & 0b00001000) - self.write(4, i & 0b00010000) - self.write(5, i & 0b00100000) - self.write(6, i & 0b01000000) - self.write(7, i & 0b10000000) - - self.fire() - # sleep(1) - a = raw_input() - self.stop() - - """ - def init_flipper(self): - init_driver() - init_display() - init_sound() - - def init_driver(self): - i2c_driver = 0x20 - base_driver = 65 - wiringpi.mcp23017Setup(base_driver, i2c_driver) - - def init_display(self): - i2c_display= 0x21 - base_display = 65 + 16 - wiringpi.mcp23017Setup(base_display, i2c_display) - for i in range(base_display, base_display+16): - wiringpi.pinMode(i,1) - wiringpi.digitalWrite(i, 0) - - def init_sound(self): - i2c_sound = 0x22 - base_sound = 65 + 32 - wiringpi.mcp23017Setup(base_sound, i2c_sound) - for i in range(base_sound, base_sound+16): - wiringpi.pinMode(i,1) - wiringpi.digitalWrite(i, 0) - # set fire to 1 (out) - - def """ diff --git a/test/initialize.pyc b/test/initialize.pyc deleted file mode 100644 index f9fc694f3fb2fd8be6faf3c4f8564100c4a5a304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7437 zcmd5>U2hx56`dui4^on)#I|HPX`<9_qBN~#Nr~gSLHwn}HsBJ-%85|5DnWDC%E}Z; zaaXlm#BBi?DG;E2Py0Li(8oUYZ}cw|{Q>Pc=k9VTTCpXg52eJ>-JRLlxo6Hjb7xfi z_eACI-!5!4T>2^E?=^hmuTcc}^<2}r^`7mybuYVLaO;K4F1q!i?1F2S-1d-LA97w$ zbm6djfCozMsdM|z{d|4I1w$?z(cR(R-BA~eWOqkU4%S3~_wT zFzh5HSogv>=?$OtH&}fRMTmiGuy{8|>ak-Evmm47{MC8-+hD;jySs^Rds(bOh!>eOO0AR2)Y{Y{dyeAg>JpI z8R}LiYQ@P3Hf%*ntO?aX6SZ}Y@)NPG0#vG3G%J`Y~8bph|_Wb?=7YY24>s#`0tLWgWxA&9O(Upx0 z?g_9!t07_pELhL$;l67_<<{+;Ik(n_3*R_D!nbfBkD_kW+U!Kh1TMB4ou%cAiyy9r z$!Lu&;wxQO;`bBa_?i}JcrLbjf9=YN!O=?J}1Yg zXPR{Lh7I7f$nxuYb2mJ?XL{xl(V0dkda?87yquD?TC2Vt)@lhouhq8O!EO_mKBq;n z_^-gqUnuKEbn}TnCn6@W!-ev2c|_C27_F^Dai>{-+(4B+bWgFm52F{W!IXn+JT+~R zY%pSn(ufTt8PFEU#Zv_HunQy?l$EmXKuIbxARc2fDlQn8G3J5^8RITEA!EV?lQK?F z3+Qq57K`gF7{kvp;UBn*Sx*!qm|sQ-Y@6$7k`_YZ68{w33|x^}f;nX7Fw7A%M`4!D ztiT*Ia~$S`nI~XQnmGmY6*FIjdD6^NFi)E~4RglKGcae(JPY$RGhc`KJ(!qpN%iXd z8}OwH+9IAVMw~md7bD&>dnw{HnQ%4GO3Y<(zY#1(ip}(DDdMDOEtew&BpaaR-Fp#< zB~}KY!D2+d_b!(rvaol#9F6r~z8^6zdbJ-!REyr_rHI0*VCwF+EVB64c()UF{Zp{S z>4d{UFx7&nk%!pJXsWuS?xs;S>oo`$zkKga*8CL(SU`1vJeoRqq6!2=3(zcpqIwqH zH0r4nc6FNC+TXO~j@)$U=uL+YX&P|(B23ko)Tg#Wo#$G++xNrnl{xDX4Vz&@0Dm|ahnw42?{lb6qk%z9`Sxc}d?(8O+pH!1Y}FtMwLBgZ zVB{DW5aI(X>$~V9X4LfqEO4m?bV4-$EsOzh_r4^3A$?#rSiQ2b=AI~L0=*v=T=#S8 zO1eyzm>1?N=qwbHfw1%D^V*ouqRm<#peHeq9ME*3xiTkB%Vmkm6QN~4mK3i6+V;uA zJFKPL90N;g7vEGfKo@bDrWcb)Fvh*}g$AXTUxFzhmtX*hUfu;zXMrKnc;>cnwXA}J zulnau$}PETqo=$oolqbuZ5BI@?uWX)f^Jfon>l3IpQ0M$!)T#l-T~PvzyTZSa~dFR z&JrZDwz~P}Z~6J#Ri6>k=aXg$x1O0QqIgWllzArY&COhIMAXb174er<7j*Jrow| zhcHtjn}_;wnaTX7!B->5d;Fw(O4pn>lXlL`DZ*e%DwnH5%lgt7N^ zhKd4sWn))Z8G=~*MS3A<`zuQx0m|MddQjP}r1O3E#P$9e3_RHfcc-7>Z@O?BkN~qlI0Ys9 zFXAgG@4}#8IyMk{Y_HiP6{&~|WPU)w5P;&$QjC~Q;ZbZ3fDhUP%xn~X=D#A1&KaL{ zDTl=;flx+mE}&x8%c!W*PI|t$wERnSnXUxJpBb+~VECot$ZZOex!o5kph!Od+Hd4! z*iU22m>^GyW7R|?cSx~u*sRif>H)T9{=2aKcTgN-ZW$}v_112^S)-#3T&7+!MtYM= z4~zK9%Qg&K*en|`9%oKrcV`S|L|_tg#YIGD-?cT;9|YL)<+4(il3-h#&i&5v0X^Xm z@*vp66+ZvGIUV99F^K*0V5hS4X5kQd6wGH^|FOjokF*(?!PfQVFW z?+apX03)6xL^mizST~K5SP9RNkSiNg?g_epklS?aL~afDZ{6nR7du|`1}OI_?4Nzd zByivsgcVqZ;UOaA{}{EJ7My5w6KpABZ3?i(+ulv;Nz`t|S{&7;TYrQjug-2_F+hUr z{)62XGHy22qCkxMI#6DaH8}?VxmW7zMnSNHdofdYrx19<8}??sG1w=t$X2|FIyldR zC;wFzOkeHfMZOO(iN4z+caauzMSq#a2P}9p<=;S&4_VfWHdWdha}O7@81^PhMv|s1Ar$+qFQ1wh&I(`nJACuQ1*-XhmGKmA^kSUKm*vo$lB&*Ks29%G zD<*v}wQ>>r2T?cN$KROh?G9O`k1`ex{(mr*IB9qO@Vv2baU0+V#(pqCKwkbVV&izQ zFSE?2R@o6}-!cK>`!Z1KJoOtqoKEUVJ27H+Yy>2V=d<-y2gT$7X2QD$vla!vk?CiS|79cl(ocJdqk6c z(y@N@h?M>@4r(z)@K1O;Rra&q!Ji8LsnTHY^nx$d#J&e(@4Pa5TZeflax%+fGyzxE)Q0C+~E)J027sa!0V$`j?ed9C+~txN3wBNmrY=+H2UwnJr5O10Yew{SA0 ke=gX8F8e*^ShTu-WdG*)n3JS2jpICqKU0P2lheU}0gTCwXaE2J diff --git a/test/manual-test.py b/test/manual-test.py deleted file mode 100644 index ac10c86..0000000 --- a/test/manual-test.py +++ /dev/null @@ -1,4 +0,0 @@ -import sys -import test - -test.s.manual_test(sys.argv[1], sys.argv[2], sys.argv[3]) diff --git a/test/old/old_initialize.sh b/test/old/old_initialize.sh deleted file mode 100755 index a4e906c..0000000 --- a/test/old/old_initialize.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -gpio export 14 out -gpio export 15 out -gpio export 18 out -gpio export 23 out -gpio export 24 out -gpio export 25 out -gpio export 9 in - -# missing driver board - -gpio -g write 14 0 -gpio -g write 15 0 -gpio -g write 18 0 -gpio -g write 23 1 -gpio -g write 24 1 -gpio -g write 25 0 -gpio -g write 8 0 -gpio -g write 16 0 -gpio -g write 20 0 -gpio -g write 21 0 -gpio -g write 2 0 -gpio -g write 3 0 -gpio -g write 4 0 -gpio -g write 6 0 -gpio -g write 13 0 -gpio -g write 19 0 - diff --git a/test/old/old_rotate_output.sh b/test/old/old_rotate_output.sh deleted file mode 100755 index 4eb15a1..0000000 --- a/test/old/old_rotate_output.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -shopt -s expand_aliases -source ./.bash_aliases -mux1 1 -mux2 0 -for(( i = 0; i < 8; i++)) -do - echo "Activating Latch $((i+1))" - let "a = $i % 2" - let "b = $i / 2 % 2" - let "c = $i / 4 % 2" - ma0 $a - ma1 $b - ma2 $c - for(( j = 0; j < 8; j++)) - do - echo "Activating Pin $j" - let "d = $j % 2" - let "e = $j / 2 % 2" - let "f = $j / 4 % 2" - - fa0 $d - fa1 $e - fa2 $f - sleep $1 - done -done - -mux1 0 -mux2 1 -for(( i = 0; i < 5; i++)) -do - echo "Activating Latch $((i + 9))" - let "a = $i % 2" - let "b = $i / 2 % 2" - let "c = $i / 4 % 2" - ma0 $a - ma1 $b - ma2 $c - for(( j = 0; j < 8; j++)) - do - echo "Activating Pin $j" - let "d = $j % 2" - let "e = $j / 2 % 2" - let "f = $j / 4 % 2" - - fa0 $d - fa1 $e - fa2 $f - sleep $1 - done -done - diff --git a/test/old/test_input.sh b/test/old/test_input.sh deleted file mode 100755 index feda9e2..0000000 --- a/test/old/test_input.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -while : -do - for(( i=0; i<5; i++)) - do - let "a = $i % 2" - let "b = $i / 2 % 2" - let "c = $i / 4 % 2" - gpio -g write 14 $a - gpio -g write 15 $b - gpio -g write 18 $c - for(( j=0; j<8; j++)) - do - let "d = $j % 2" - let "e = $j / 2 % 2" - let "f = $j / 4 % 2" - gpio -g write 23 $d - gpio -g write 24 $e - gpio -g write 25 $f - sleep .01 - x=`gpio -g read 8` - if [ "$x" -eq "0" ]; then - echo "Row[$i], Col[$j]" - fi - done - done -done diff --git a/test/output/.output_manual.py.swl b/test/output/.output_manual.py.swl deleted file mode 100644 index f0d43a24bcbb5582b16ad7ac3f39f1a6f3afce2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2OND#+6p8V_3Zs+q|)vt2!Jl8FvsT-S)K5Zr^{+B?%b+wAO2+tb5} zD;`WFMv=fpFD61bXuNpxK@>DTV|ElUGFyqEU!y9=vkz#mOF?Q_5-?u$@PapgEYQ|iLoC`k_HOFmYrGvG(?Jvaf5gHOOQ@HTh@yb4|cFM)mF z8So@%f(DoZkAkh>K5!REg8{GxtOmKbA6f61)%I1TTQSU>1ykjUWYX181&b>}PNSybGQK&w?gc53U8LmLMNE0uF-% zU_aOcX2D~?1>;~CnBW$0dNIa=Pr>Wp0C*Zqg3aJ=FbHl2H-W|AEWYD$3LFPtfFs}# zI0*KEouCCqK@kjsJHRTi68v%%&I$Mo90jj|{a_Y60UiPOf+4ULtOhrNb2w`!!4H7W z-Pb@pN&%(7zovjwcl=nKG0rQtRrZ~omT!-_PCX_}ou}fgVoyYS{DwOwzr|&HvG}@q zhUMlP)jQ%s({%iEC+T!iW!)({?#KkRkfvR;%l=r+^2?KU6U&3s@~xObR@h0IK*S@% zWAe{A>!xVgqjMS*uKYsth)C8;n5VOh`DXDwr&_hWU{8{|sT+xKThKA-kBwXPscv%_4S@~v78noql=IE6(% zuY>UPG;6l)#*BoKB#G#myB!g4&z8vWU?WAGGx|8u@Mu3cemtvQwPQJKP2iS8yB$Io z0)4Wq_A&3NPv+y?^_;pN)7opQ@F0&i(Dc2S6CdE(HeXH|cy`3w>xe4l=zK@urvi6$ ztLT>Jbe%%yA{Ex=HGEva_SNd1St*-OIpsmd0fRYLy6Az7p5$n8-D9kCzu-I5wile| z83${xx=y0vR2|={jd~7BfxOL!wW6tQmq(x9$&GPg$eVQ00U|oU5DO15dIlI+B5l@r zYsBu#jk?&>C5;d8V7pMWyoY`7(KMDcU6 zIW|Z&c3QQT9q1spJ@~v}ft$BJKw1V>b!a%AK4!TydO4zbSP1Eof%aQe2F46@+b_N#?c9QHgTG)c@ z6c=WJ=gCaMRp41NO)iWAmjeaQ7q}c|@Ek^=yO`x!SQJ^z@JxZ5WTiPK%aE1gm?}qB zlG8*6nI^|PLPiRXc|?l52FE-i!>DAUB$6DCGz^oB6bwN|5{3Z--@7j5!!}19CM#vB z6|9t@)?lSH+B_?z(BxQ&5@uP6(q)hYO`74jpvAnM`8H5;ED3d@WkrfJ8S10OOF?<~ zXc(jMbtsbW?#I3a54@)Iru3*!kT0Y6#2Mtv>-|F`!<(?m8M|uN`Gh@Lv+EVx<0B2v zx4jt~Zz8W%uST-v(87pDNh!=|6kS^6&qjTC3&0f}i1#o&A{tbbxpHvPxyKgGYQ?syOupXXGZI7E!defV-sFuno}Hird`M#{ElYfhxX-Ve*?gfK`8(L diff --git a/test/output/.output_manual.py.swm b/test/output/.output_manual.py.swm deleted file mode 100644 index e0b63f38ec958757be7f772123438253c096db69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2O>7%Q6vwAQKubUQDu@G2H-Kzq>+Gz*D_P*GCInF$T7?{F2^)LkY~$F=dfiY$ zIUrFXC{=p_2_aF`1BeSJJ}PKIAV7$UOU37bQXx)MfZA!%jG^_kF z&u`wmdGnu{P1R(=cwl%l&n8j~&l<*#J^%am`|s*wFJ8`=>yUHtXR_wFuD5vH6RtDp z+f9G4(em9^yBVLc>Mg65aCa}BK}9G9lmeHoz)F@hh0(9AkqSQ3IpJxT$kfKosypcGIFCmH8SO)sQpDP(V15Se8N2}Y zgQvjbpa~ja8axa}!9Cy(kOl)_9asxifIe_`1?B{&z?a}Na1^`;-T{ZeKJYA<1r<;R zV;~2v1Ai=M>?C*}ya}EI`@kF+0h>Vz+yYKt#n{i_1b7!b1D*y=un}AheprTl;0QPj z4uS(mw z;1Jjkc7YZc14S?hZUbw;YVgYyI49s!a1^`-4uCoE7{!}r&+UYH)bS^BuPZi{OyQ%d$vS|2OBBkoYBY0hDZCs@#R_dsvXN=YXY|%+U*d! z5a^R-wU2pEeKH^CuIJSKnAToXg$H@Gfu`@pocI9Ow)=9*z_T;nUPn|ZN9Q{OKNYyM zTSd1#r|T3t7pbr|ui@hYwy#$A%u3mO$|(;r4j9b&(nSws^dv`%>mFmB`vu>bvAy6t z&pKFp)pZgTr|S4tZOn5}3gm4*s1;3ZhdlcHc5X}vL*Aqd4iM1+hFE-n(KEon5^1x} zStE8=Zq$XQE@^y#2it|3BZ{vJ z&9O_7*(?ZM|o3*0(-A88p>)j31wn-GUpY82_mo^Nhc>{z?2BOe`xgscL0 zoR-m9!%W#VlZMD{v;CGEo3NU;&K!E+de?qZf_VNql;!!reLl9lF|EJId`W2zik zNlp_PWSSiF2pK6j<`F6K8XWV845N~Xl1Oqm(lAUiQZNJ=Nf-tU{M~gaAGSH_Fj*-} ztze}LwFWDt(dJnxg(k;JlrYOmlrDoLXwnSF1uf?7%(sb>V@aqJEh|!-$xt6HUJA;? zN5dG6Z$OcJPe1l0c;GdqH>F2?f_xdhC(a;WUhf|o8Qy|b&e~PG&L{1unq9Bh9v^9V zzU|H0coTW8dNq{oll!!)2 zIg&k5ffhzIN=jiyqv+Bie>UpFTL7-;K)i?H5z(Nc%$0+S&ONqhPAj%mW%Bh7pOMHi lhWkk7qo%>=Zo$r^8JqMPGo0eMGvh+;;Ab=oKeR6|`x}HhK>Yv! diff --git a/test/output/.output_manual.py.swn b/test/output/.output_manual.py.swn deleted file mode 100644 index 2ba9338ae2790d2f4b54a3afc84ae2a1f1b20372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2O>7%Q6vwAQKubUQDu@G2H-Kzq>+Gz*D_P*GCInF$T9q7V2^)LkY~$F=dfiY$ zIUrFXC{=oa3lgn*0CC~OM+Gei1PD=asrWolD#VFOaHv#14)A}oYkS?KO{utmW|d#& z`OTX*Z~im0shW%%4-IeT*+h!rS;N@z7k}UJ;5~h8?n=g7hn$N)6E(+my~X36a-Bin zZu*0bmhZOO&DgY6Z&|g3yJztXDncos6u5i^R_i1&)9@uop~$QLqUJa4T32 zep|)ZPv9i@0PF+zgB-XWtO6^+GSCP9T*=s3a0dJcz5^%03GgvE4&DZDfLFmQ;3aSX zJOiEtP0#>S;8Cz0+z0LgX)plRfwf=-=mY0gU`}uvd@CdjU41x7vEw~Y!!&y58z6W&f zz5?n|3Md8sH3giyM>#JJQZgZdm`H7H{3D#S6sFii*Hz9 zSZ<+Fy(2C(O~*ffl1>*@)}5l`j!ZxcY1%cr?2pwfzdUI-u{<~}--;Pzg`JcML_9J) zCcn>HH$}@HoztLjh*!)vE0Udy>>m-AIJnf{salY}~3(gTK1`Ls)lQ&{Bl z1_)12vu4|F%t#nXl8B!9+Y#~hY>5mHHd4enqmL5}kM@J(%d_fLJC?)N1a3LB+aYuz z&?n1kAM>92WIoPa&#C({t-YoS5AtXOP2Y<-@d2*w@a2?&XIH$vj;Km({p)$y&`sOO**$lH8aE1KF)dGz_6+!z;zyh#@wAff{dvG@R^XMlkv(q^5v zM(nQKsEbWq()a)mwhJ}OyGYy6qj*Q~`7aB3w=XHbR5Fe^4w^eJ|fev!pgU^c=xOMvjq-9W5=L}tFLL649QKTPxzPVAcW9_bvd~_HRvI^XB zT1ICL(`DC88X~*R_FHaj+-ll7cg!-K*iKAfj5so8$aNawdm{K5gk=S1t(4bx^7REy zN!l&}Jvu(*l#x^Ro}GLk45S+2plc+QC&^Bug)PWV zabXsCp3Ed%1)e3-t9MUlk}&lI>xR+?k73|T3Tsd8i` zIZb4cX>!aXWTfDjN2JJWaLgkzj7la-BFW)M!!XH6!4PC5VHhy*ch{wS*ygCiWTh;% zf|WAV8myE?n`fmInj9-p!YnIMx(t$_Ni!T5w3xRu-zG|qC818VtVnStLw&S(DJTyg z4P!LE0Y&n?{n(e_f!CDYlpgg7@@4d%ID>q7y?IYt=LwT$=5r4Mk31? k?jxCxn+Bu11v`^wY{F|ybBg26v0=C^8f$< diff --git a/test/output/.output_manual.py.swo b/test/output/.output_manual.py.swo deleted file mode 100644 index 4e7953176365ab05a54a890d7ba399377341d8ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2O^g&p6vqpQA0S_16pe`~dn1|2HbYm>H_0RpGFevxtRjdJvgw_vnQeAlflQAB|aL{=1M3g9gC2EX#kr32_NYs-=E+izH;Qv+6M-RKONW5sOvp@RH z>sPPd`&U(OfEly44sYPuM2g{B&e&70|FQjYX+HZ^GUmDDocpTQUC;C9j@$3KYXaE{ z)-n<}opc&gPCeo6o;!n%&dJ2(YC1TTY^KmZ;BE5OeSkq;aP zN5Nrm2)qFH0v|jB%HR=@1owh-w_+^#61)ozgXe$?HiIItz&+q@un=6l1!KTT@C`T) z-U3I!K`;$=fo)(Nu)r#CJ6H}b+|1Yy;45$fyaNt_y;_X`!6&^06h;v3Ct4*KQgX70{8Z{ZqVQE6Q8rpjx zOd;@0mDSnief6n)oO{082x3O3rwR}A7=x|AkGb(dZfp=zid%C7r~ahxq7=y6dfF)3#tyah`6_OW2}_-%YYq_60hXA1fYmp^LW{Im zSM-S0RSR{ksY?bQ68Tu6O3O@5?q0aVoBx3)Rm7mLqb)7 zGfr)EdzdVHcG42r%`%wsVq;EAn%uR^v}3z5p)umBm?6(?w%-%s?;x}l?zNIY^L%xI zQ9MuR19V=BOY*nLS7>o^#tjltdE&#GKIB>9&WT$b5EyzxB zVHbFw%p_a|o+Z=f!YXhzQ1E<#t6>(;VH6%0vpfrnB8wTGDR7&tG{>o}&jgD`n{} zSSdqyiTOEYX2+%a!=zV(zGEul`_S&`ywhWe;^B`9xS z2F4hCEsEs(2Cy#S1+Pusj2U$a6__&n;wei;Z10BTGnKPSLJwJHY(ERBTYY$ z{9`$yI%SvSN mS3J8+=CiiN=w!jpq#3LF%}Gvi+@16wcK9orwLf&uF8dp7Mnty& diff --git a/test/output/.output_manual.py.swp b/test/output/.output_manual.py.swp deleted file mode 100644 index 3c9bbf703862f534c5916b44e44afc899feab02e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2O=w(I6vuA^inUFxAGnjAPDCbTOy7O;@n(vHOzjvVrX7?RK}&p@xtZQ(J|1u0 zBrR>ljVM~JD@8X7E?lU%(h7c35fQ|NMNl_Y#FbsR5DIpo|8w6Yd83$McZU1mmwVoM z=bU@)|K2wPNfw-krf0~T%n4k(g_t>Y?$NvM9TB@979!B>-27T>=^zL4j5?gn`<0rrAh!A>v&F7L#g;3x1c_!4{sJ_PTB*T5O@EI1Atpbq9h z5!?d)*dfG4@CkSqJO|Ezlb{A>Ko0Bym#!D$S8xG*0G197s^M0!}-}2i*FFmMB6otCkRH5laXXw~^C&$*S#%=I)dfh2ABy*_4 zGlbm;^|>nAGE+NTsMk^|NJqM@LcU$?iJuIu-^9kAp(S$ZWP|2mhBb<3TG65IGy^@^ z&`llrt+`O63q0;UlB&3=BPNvYAZI~3rlAcJWHP~lj_7m41ZOD08L0iYrC|e6XX8rM z6irYs3e$QVJ)=&%w?ksDY28rC)1b^=B4MLW*XqYd2XmOk{j-wU%w+k&VdGP{$s7lb z8q0pGui{f@c00Z|$6})fADBJFTE<=R$u-u$EehwI^y&N6Y8 zRbMILf_5fyNu4-C6N5PJ5e|N%OqZ}tkEv8jh^g8Ek7T|K*e>8*gPmnNj}f+HJ4ezj zQ;E$iTxIgubV)j8GKrE(Win|F6_JI<6^}ev99bz)p-e7YdBS7`wsM52ifmhUN=wZNkz zs(FkhQO#i}iYgcMM3u`GPy|C>;J9GKyle9vCY{-XC0l2(GCO(JZDJByurWk}UuL`#4WU6BFN^qHP3;3K#PYAq^Y#w)| e;8zQFAuq&Y*liQXk!}Z2JN}*#gPYYCT>J%E*--TW diff --git a/test/output/old/output_manual.py b/test/output/old/output_manual.py deleted file mode 100644 index e546176..0000000 --- a/test/output/old/output_manual.py +++ /dev/null @@ -1,41 +0,0 @@ -import wiringpi -from time import sleep - -base = 65 -i2c = 0x20 - -timer = .5 - -wiringpi.wiringPiSetupGpio() -wiringpi.mcp23017Setup(base, i2c) - - -for i in range(base, base+16): - wiringpi.pinMode(i, 1) - -wiringpi.digitalWrite(base+8, 0) -wiringpi.digitalWrite(base+9, 0) - -def data(value): - wiringpi.digitalWrite(base+3, value) - -def select_mux(mux): - wiringpi.digitalWrite(base+8, not mux) - wiringpi.digitalWrite(base+8 + 1, mux) - -def select_latch(A,B,C): - wiringpi.digitalWrite(base + 5, A) - wiringpi.digitalWrite(base + 6, B) - wiringpi.digitalWrite(base + 7, C) - -def select_latch_pin(A0,A1,A2): - wiringpi.digitalWrite(base, A0) - wiringpi.digitalWrite(base +1, A1) - wiringpi.digitalWrite(base+2, A2) - -def trigger_pin(lA, lB, lC, A0, A1, A2): - select_latch(lA, lB, lC) - select_latch_pin(A0,A1,A2) - data(1) - sleep(timer) - data(0) diff --git a/test/output/old/output_manual.pyc b/test/output/old/output_manual.pyc deleted file mode 100644 index 786a15d045d90ca2c22749230da432cf07746b96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1677 zcmbVM&2G~`5T3P@G)|Kyh|;1SfCEUDkVt_ASKu9ZfHL2>ZPFGF#P-h4%+Bu4H$V1&H)=n2&fg8_;wkaG$0Pg6MDwR8A?g>r zM~R}5M}3c!_NniaE>XWkx=j5t8KO@WIwMlxmdN;IN_57yCr`;#Mdlq9T4&v>4{Ov9 zWKWGuKzd0mKfk9#>|TbouF|>=L_gEju5@~tzO!p}(sf}Pq#MGlkX{j{NxCUa3pftK z7GtvK{PaS_tSbX(VoYi~Sb4-`$b+9>FRd8E%vM35wE>d>bQnI5E|2U!6UR;~avm;P zKP7RR!*>vRyx6m_4M7|Z`)a3lJWQ>tv!LzJx;QzUT4x->|1r+Y%)c*jlADm#BqV#n zT>E%3GVRp1oylB#lDjm&oQ_8EIFFNO={Gq`$1c9hJ2JRI>bCD&tiI`c9XY$E)ZTSa zK+-GXf=CFm2wa4FB0&q$fg9x~3;AE;y_reOz#Z`sYmg8gQuovV=U$F3R`!@&bNM0% zGaVo($;(XVv(B643di>>s=`)4mYDn%8?JT$*b%xfw7U>Wl)webBzA-24am5i)GEKX zk?!)+6@ptRQGGX20{I+DIN!7I-XdH728h+pCf77iTg9}!5Jt4pJjSEcjvqo-;A{aW zSPbMqGP=(U<79*k2>$zAl+5{bTB6f(AxpoVDPHl33tl+Zu{G;7`fm;`A4nmx8!dx0 zK}2Mx_!&4mGSd)l2;8JoO#8*ujgYLU0kXnmp;+K*H?_l|nIa62Shpo!W_mgQG#Zy|cOXT(t6|o5tgzkwUc& zh0T}0nP^jVtb_sDxzMb#ID;tMfBb!_ynA;v(RpHCpw_YnOzNuTRaC{Rcs14XH`J=f NHSPs|PzuUH`46JQ9G(CG diff --git a/test/output/old/rotate_output.py b/test/output/old/rotate_output.py deleted file mode 100755 index 3259d92..0000000 --- a/test/output/old/rotate_output.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python -import wiringpi -import output_manual as o -from time import sleep - -timerInner = .5 - -def rotate(): - for i in range(8): - print("Selecting Latch: " + str(i)) - o.select_latch(i & 1, i & 2, i & 4) - - for j in range(8): - o.select_latch_pin(j & 1, j & 2, j & 4) - print("Triggering Pin: " + str(j)) - o.data(1) - sleep(timerInner) - o.data(0) - -print("Selecting MUX1") -o.select_mux(0) - -rotate() - -print("Selecting MUX2") -o.select_mux(1) -rotate() diff --git a/test/output/output_manual.py b/test/output/output_manual.py deleted file mode 100644 index 2013d85..0000000 --- a/test/output/output_manual.py +++ /dev/null @@ -1,156 +0,0 @@ -import wiringpi -from time import sleep - -base = 65 -i2c = 0x20 - -timer = 0.7 -pins = {"A0" : 9,# - "A1" : 8,# - "A2" : 1,# - "D0" : 0, - "RUN" : 7,# - "E1" : 2,# - "E2" : 10, - "E3" : 3,# - "E4" : 11, - "E5" : 4,# - "E6" : 12, - "E7" : 5, - "E8" : 13, - "E9" : 10,#PGIO06 wegen fehlender Porterweiterung - "E10" : 9,#GPIO12 wegen fehlender Porterweiterung - "E11" : 6,# - "E12" : 14, - "E13" : 15 }# - -""" -A0 = 3 -A1 = 2 -A2 = 1 -D0 = 17 -E13 = 15 -RUN = 16 -E1 = 5 -E2 = 6 -E3 = 7 -E4 = 8 -E5 = 9 -E6 = 10 -E7 = 11 -E8 = 12 -E9 = pi -E10 = pi -E11 = 13 -E12 = 14 -E13 = 15 -""" -""" -GPA0 0= 16 -GPA1 1= 14 -GPA2 2= 12 -GPA3 3= 10 -GPA4 4= 8 -GPA5 5= 6 -GPA6 6= 2 -GPA7 7= 17 -GPB0 8= 1 -GPB1 9= 3 -GPB2 10= 5 -GPB3 11= 7 -GPB4 12= 9 -GPB5 13= 11 -GPB6 14= 13 -GPB7 15= 15 - -""" -for key in pins.keys(): - pins[key] += base - -pins["E10"] -= base -pins["E9"] -= base - -def init(): - wiringpi.wiringPiSetupGpio() - wiringpi.mcp23017Setup(base, i2c) - for i in pins.values(): - wiringpi.pinMode(i, 1) - wiringpi.digitalWrite(i, 1) - data(0) - wiringpi.digitalWrite(pins["RUN"], 0) - -def data(value): - wiringpi.digitalWrite(pins["D0"], value) - -def select_latch(latch): - deselect_latches() - wiringpi.digitalWrite(pins["E" + str(latch)], 0) - -def deselect_latches(): - for i in range(1,14): - wiringpi.digitalWrite(pins["E" + str(i)], 1) - -def select_pin(pin): - wiringpi.digitalWrite(pins["A0"], pin & 0b001) - wiringpi.digitalWrite(pins["A1"], pin & 0b010) - wiringpi.digitalWrite(pins["A2"], pin & 0b100) - -def trigger_pin(latch, pin, t=timer): - select_latch(latch) - select_pin(pin) - - data(1) - sleep(t) - data(0) - -def rotate(): - for i in range(1, 14): - for j in range(8): - trigger_pin(i, j) - print("activated latch "+str(i)+ "\t pin "+str(j)) - -def activate_all_lamps(): - for latch in range(1,11): - for pin in range(8): - data(1) - select_latch(latch) - select_pin(pin) - sleep(0.03) -def all_lamps(): - activate_all_lamps() - -def outhole(): - trigger_pin(11,0) -def right_kicker(): - trigger_pin(12,5) - -def right_flap(): - trigger_pin(13,5,0.4) - -def right_bank(): - trigger_pin(13,2,0.4) - -def activate_pin(latch, pin): - select_latch(latch) - select_pin(pin) - data(1) - deselect_latches() - -def deactivate_pin(latch, pin): - select_latch(latch) - select_pin(pin) - data(0) - deselect_latches() -def activate_flipper(): - activate_pin(8, 4) - -def activate_top_flipper(): - activate_pin(12, 4) - -def deactivate_flipper(): - deactivate_pin(8, 4) - -def deactivate_top_flipper(): - deactivate_pin(12, 4) - -init() diff --git a/test/output/output_manual.py.bak b/test/output/output_manual.py.bak deleted file mode 100644 index b4a8948..0000000 --- a/test/output/output_manual.py.bak +++ /dev/null @@ -1,156 +0,0 @@ -import wiringpi -from time import sleep - -base = 65 -i2c = 0x20 - -timer = 0.7 -pins = {"A0" : 9,# - "A1" : 6,# - "A2" : 8,# - "D0" : 7, - "RUN" : 0,# - "E1" : 10,# - "E2" : 5, - "E3" : 11,# - "E4" : 4, - "E5" : 12,# - "E6" : 3, - "E7" : 13, - "E8" : 2, - "E9" : 9,#PGIO06 wegen fehlender Porterweiterung - "E10" : 10,#GPIO12 wegen fehlender Porterweiterung - "E11" : 14,# - "E12" : 1, - "E13" : 15 }# - -""" -A0 = 3 -A1 = 2 -A2 = 1 -D0 = 17 -E13 = 15 -RUN = 16 -E1 = 5 -E2 = 6 -E3 = 7 -E4 = 8 -E5 = 9 -E6 = 10 -E7 = 11 -E8 = 12 -E9 = pi -E10 = pi -E11 = 13 -E12 = 14 -E13 = 15 -""" -""" -GPA0 0= 16 -GPA1 1= 14 -GPA2 2= 12 -GPA3 3= 10 -GPA4 4= 8 -GPA5 5= 6 -GPA6 6= 2 -GPA7 7= 17 -GPB0 8= 1 -GPB1 9= 3 -GPB2 10= 5 -GPB3 11= 7 -GPB4 12= 9 -GPB5 13= 11 -GPB6 14= 13 -GPB7 15= 15 - -""" -for key in pins.keys(): - pins[key] += base - -pins["E9"] -= base -pins["E10"] -= base - -def init(): - wiringpi.wiringPiSetupGpio() - wiringpi.mcp23017Setup(base, i2c) - for i in pins.values(): - wiringpi.pinMode(i, 1) - wiringpi.digitalWrite(i, 1) - data(0) - wiringpi.digitalWrite(pins["RUN"], 0) - -def data(value): - wiringpi.digitalWrite(pins["D0"], value) - -def select_latch(latch): - deselect_latches() - wiringpi.digitalWrite(pins["E" + str(latch)], 0) - -def deselect_latches(): - for i in range(1,14): - wiringpi.digitalWrite(pins["E" + str(i)], 1) - -def select_pin(pin): - wiringpi.digitalWrite(pins["A0"], pin & 0b001) - wiringpi.digitalWrite(pins["A1"], pin & 0b010) - wiringpi.digitalWrite(pins["A2"], pin & 0b100) - -def trigger_pin(latch, pin, t=timer): - select_latch(latch) - select_pin(pin) - - data(1) - sleep(t) - data(0) - -def rotate(): - for i in range(1, 14): - for j in range(8): - trigger_pin(i, j) - print("activated latch "+str(i)+ "\t pin "+str(j)) - -def activate_all_lamps(): - for latch in range(1,11): - for pin in range(8): - data(1) - select_latch(latch) - select_pin(pin) - sleep(0.03) -def all_lamps(): - activate_all_lamps() - -def outhole(): - trigger_pin(11,0) -def right_kicker(): - trigger_pin(12,5) - -def right_flap(): - trigger_pin(13,5,0.4) - -def right_bank(): - trigger_pin(13,2,0.4) - -def activate_pin(latch, pin): - select_latch(latch) - select_pin(pin) - data(1) - deselect_latches() - -def deactivate_pin(latch, pin): - select_latch(latch) - select_pin(pin) - data(0) - deselect_latches() -def activate_flipper(): - activate_pin(8, 4) - -def activate_top_flipper(): - activate_pin(12, 4) - -def deactivate_flipper(): - deactivate_pin(8, 4) - -def deactivate_top_flipper(): - deactivate_pin(12, 4) - -init() diff --git a/test/output_manual.pyc b/test/output_manual.pyc deleted file mode 100644 index ad347ea671fe66be59b68909b998f20e2c8dd9e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 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 diff --git a/test/test_displays.c b/test/test_displays.c deleted file mode 100644 index d45d91c..0000000 --- a/test/test_displays.c +++ /dev/null @@ -1,91 +0,0 @@ -#include -#include -#include -#include - -const char disp_numbers[] = {89, 90, 91, 92, 93}; -const char run = 95; -const char lt = 88; - -const char base = 81; -void init(void) -{ - wiringPiSetup(); - mcp23017Setup(base, 0x21) ; - - for(int i = 0; i < 16; i++) - { - pinMode(base + i, OUTPUT); - digitalWrite(base + i, 1); - } - digitalWrite(run, 0); -} -void clear_displays(void) -{ - for(int i = 0; i < 5; i++) - { - digitalWrite(disp_numbers[i], 1); - } -} -void select_display(int number) -{ - digitalWrite(disp_numbers[number-1], 0); -} - -void toggle_display(int number) -{ - select_display(number); - clear_displays(); -} -void print_pins() -{ - for(int i = 0; i < 16; i++) - { - int state = digitalRead(base + i); - printf("PIN %d is %d\n", i, state); - } -} -void select_digit(char number) -{ - // MSB to LSB - digitalWrite(84, (number % 2)); - number = number / 2; - digitalWrite(85, (number % 2)); - number = number / 2; - digitalWrite(86, (number % 2)); - number = number / 2; - digitalWrite(87, (number % 2)); -} -void select_segment(int number) -{ - digitalWrite(81, (number % 2)); - number = number / 2; - digitalWrite(82, (number % 2)); - number = number / 2; - digitalWrite(83, (number % 2)); -} - -int main(void) -{ - - clock_t t; - init(); - print_pins(); - int numbers[] = {0, 1, 2 ,3 ,4 ,5, 6, 7}; - for(int i = 0; i < 50000; i++) - { - for(int j = 0; j < 3; j++) - { - //t = clock(); - select_segment(j); - //printf("select_segment %d\n", j); - select_digit(numbers[j]); - //printf("select_digit %d\n", numbers[j]); - toggle_display(3); - //t = clock() - t; - //printf("took %f ms \n" , (((float) t)/CLOCKS_PER_SEC)*1000); - } - //print_pins(); - } - -} diff --git a/test/test_sound.py b/test/test_sound.py deleted file mode 100644 index 3f22534..0000000 --- a/test/test_sound.py +++ /dev/null @@ -1,4 +0,0 @@ -import initialize - -s = initialize.Sound_Test() -s.rotate()