nabaztag_hack_kit 0.1.0.alpha6 → 0.1.0.alpha7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ //###############################################
2
+ //------------------ INIT ----------------------
3
+
4
+ var inited = 0;;
5
+
6
+ fun initUrl =
7
+ strcatlist confGetServerUrl::apiPath::"/init.jsp?"::nil;;
8
+
9
+ //-------------------------------------------------------------
10
+
11
+ fun initCheck=
12
+ if inited == 0 then
13
+ (
14
+ httprequest "GET" initUrl "" #_cbHttp HTTP_NORMAL;
15
+ set inited = 1
16
+ )
17
+ ;;
18
+
@@ -10,24 +10,87 @@ fun playbackLoadFinishedUrl =
10
10
  fun streamUrl filename=
11
11
  strcatlist confGetServerUrl::"/streams/"::filename::nil;;
12
12
 
13
- // var playback_fifo = nil;;
13
+ const PLAY_IDLE = 0;;
14
+ const PLAY_RUN = 1;;
15
+ //const WAV_EOF=2;;
14
16
 
15
- // fun playbackStart =
16
- // ;;
17
+ //var wav_http;;
18
+ var playback_fifo = nil;;
19
+ var playback_load_fifo;;
20
+ var playback_state = 0;;
21
+ var play_index = 0;;
17
22
 
18
- // fun playbackStop =
19
- // ;;
23
+ //wat is this for!??
24
+ var wav_zeros;;
25
+ fun wavgetzeros=
26
+ if wav_zeros==nil then
27
+ (
28
+ set wav_zeros=strnew 2048;
29
+ for i=0;i<2048 do strset wav_zeros i 0
30
+ );
31
+ wav_zeros;;
20
32
 
21
- // fun _playbackLoadCB httpreq req=
22
- // if req != nil then
23
- // (
24
- // set wav_fifo=conc playback_fifo req::nil;
25
- // )
26
- // ;;
27
33
 
34
+ fun playbackStop =
35
+ if playback_state != PLAY_IDLE then
36
+ (
37
+ playStop;
38
+ // if wav_http != nil then httpabort wav_http;
39
+ // set wav_http = nil;
40
+ // set wav_buffering = 0;
41
+ set playback_state = PLAY_IDLE
42
+ );
43
+ 0;;
28
44
 
29
- // fun playbackLoad val=
30
- // httprequest "GET" (streamUrl val) nil #_playbackLoadCB HTTP_NORMAL //HTTP_STREAM
31
- // ;;
45
+ // fun _playbackStart =
46
+ // set wav_index = 0;
47
+ // set wav_buffering = 1;
48
+ // set wav_buffering_since = time_ms;
49
+ // playStart 1024 #_wavplaycb;
50
+ // 0;;
51
+
52
+ fun _playbackCB i=
53
+ let hd playback_fifo -> sample in
54
+ let strlen sample -> len in
55
+ (
56
+ if play_index < len then (
57
+ // send some bytes to the VM buffer.
58
+ let (playFeed sample play_index nil) -> pushedbytes in
59
+ (
60
+ // this is how many bytes we sent.
61
+ set play_index = play_index + pushedbytes
62
+ )
63
+ )
64
+ );
65
+ 0;;
66
+
67
+ fun _playbackStart play_data=
68
+ playbackStop;
69
+ //set wav_end_timeout = timeout;
70
+ set playback_fifo = conc play_data wavgetzeros::nil;
71
+ playStart 1024 #_playbackCB;
72
+ // set playback_state = WAV_EOF;
73
+ // set wav_lasttime = time_ms;
74
+ // set wav_http = nil;
75
+ set play_index = 0;
76
+ // set wav_buffering=1;
77
+ // set wav_buffering_since = time_ms;
78
+ 0;;
79
+
80
+ fun playbackStart =
81
+ _playbackStart playback_load_fifo;;
82
+
83
+ //-------------- LOAD
84
+ fun _playbackLoadCB httpreq req=
85
+ if req != nil then
86
+ (
87
+ set playback_load_fifo = conc playback_load_fifo req::nil
88
+ );
89
+ 0;;
90
+
91
+ fun playbackLoad val=
92
+ set playback_load_fifo = nil;
93
+ httprequest "GET" (streamUrl val) nil #_playbackLoadCB HTTP_NORMAL;
94
+ 0;;
32
95
 
33
96
  // fun playbackStream val=
@@ -107,25 +107,23 @@ fun evalTrame res=
107
107
  // play start
108
108
  else if code == 60 then
109
109
  (
110
- // playbackStart
111
- 0
110
+ playbackStart
112
111
  )
113
112
  // play stop
114
113
  else if code == 61 then
115
114
  (
116
- // playbackStop
117
- 0
115
+ playbackStop
118
116
  )
119
117
  // play load
120
118
  else if code == 62 then
121
119
  (
122
- // playbackLoad val
123
- 0
120
+ playbackLoad val
124
121
  )
125
122
  // play stream
126
123
  else if code == 63 then
127
124
  (
128
- // playbackStream val
125
+ // playbackStream val;
126
+ wavstarthttp (streamUrl val) nil;
129
127
  0
130
128
  )
131
129
  )
@@ -135,6 +133,8 @@ fun evalTrame res=
135
133
  //###############################################
136
134
  //-------------------- LOOP ---------------------
137
135
  fun loop=
136
+ initCheck;
137
+
138
138
  wifiRun;
139
139
  wifiCheck;
140
140
 
@@ -146,7 +146,7 @@ fun loop=
146
146
  earRead 1;
147
147
 
148
148
  pingCheck;
149
- wavtime;
149
+ //wavtime;
150
150
 
151
151
  recordingCheck;
152
152
  0;;
@@ -38,7 +38,7 @@ module NabaztagHackKit
38
38
  }
39
39
  end
40
40
 
41
- def wink(s = 1, e = 4, times = 5)
41
+ def wink(s = 1, e = 4, times = 3)
42
42
  {
43
43
  EAR_L => ([s,e] * times) + [s],
44
44
  EAR_R => [s] + ([s,e] * times)
@@ -1,3 +1,3 @@
1
1
  module NabaztagHackKit
2
- VERSION = "0.1.0.alpha6"
2
+ VERSION = "0.1.0.alpha7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nabaztag_hack_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha6
4
+ version: 0.1.0.alpha7
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bytecode/bin
11
11
  cert_chain: []
12
- date: 2012-09-21 00:00:00.000000000Z
12
+ date: 2012-09-24 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &70360448998840 !ruby/object:Gem::Requirement
16
+ requirement: &70148636637240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70360448998840
24
+ version_requirements: *70148636637240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70360448998300 !ruby/object:Gem::Requirement
27
+ requirement: &70148636636700 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70360448998300
35
+ version_requirements: *70148636636700
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70360448997840 !ruby/object:Gem::Requirement
38
+ requirement: &70148636636240 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70360448997840
46
+ version_requirements: *70148636636240
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rack-test
49
- requirement: &70360448997380 !ruby/object:Gem::Requirement
49
+ requirement: &70148636635780 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70360448997380
57
+ version_requirements: *70148636635780
58
58
  description: Sinatra server api framework to run custom bytecode on Nabaztag v1/v2.
59
59
  Sources + Compiler included (linux only)
60
60
  email:
@@ -83,6 +83,7 @@ files:
83
83
  - bytecode/lib/button.mtl
84
84
  - bytecode/lib/data_helper.mtl
85
85
  - bytecode/lib/ear.mtl
86
+ - bytecode/lib/init.mtl
86
87
  - bytecode/lib/led.mtl
87
88
  - bytecode/lib/logger.mtl
88
89
  - bytecode/lib/ping.mtl