Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 91 lines (90 sloc) 3.749 kB
3d051b1 @rcaputo Update the roadmap to release.
authored
1 [_] 11% CPAN Release
2 [_] 0% Packaging
3 [_] 0% Name the distribution
4 [_] 0% Rearrange modules into proper lib directory
5 [_] 0% Examples
6 [_] 0% Tests
7 [_] 0% Documentation
8 [_] 33% Firmata Protocol
9 [_] 58% SysEx (\xF0...\xF7)
10 [X] 100% String response (\xF0\x71...\xF7).
11 [X] 100% Build 14-bit characters properly.
12 Currently just stripping \0 octets.
13 Cheap solution for ASCII, but the world's bigger.
14 [X] 100% Protocol Version (\xF9)
15 [X] 100% Parse it.
16 [X] 100% Save it in the object.
17 [X] 100% Accessor to query it.
18 [_] 0% Capabilities query (\xF0\x79...\xF7).
19 [_] 0% Define API to query capabilities.
20 Currently just sending the raw octets fromt test.pl.
21 [_] 0% Autosend request
22 Unless asked not to, ask the device for its capabilities.
23 [_] 33% Capabilities response (\xF0\x6C...\xF7)
24 [X] 100% Parse it.
25 [_] 0% Represent each pin in an introspectable way.
26 [_] 0% Store pin capabilities in the object.
27 [_] 0% Define input/output methods based on capabilities.
28 [_] 0% How interesting might it be for device capabilities to define object APIs?
29 Moose::Meta can do this for us.
30 But... are the results elegant enough for us to care?
31 [_] 0% Define API for output methods.
32 [_] 0% Define API to query last input values.
33 [_] 0% Define callbacks (role/emit) for Firmata data.
34 [_] 0% Each port should have options for edge and level detection.
35 [_] 0% Should these options drive the Firmata firmware?
36 [_] 20% Analog I/O Message (\xE#..)
37 [X] 100% Parse them.
38 [_] 0% Store last values in the object.
39 [_] 0% Trigger edge events, if requested.
40 [_] 0% Trigger level events, if requested.
41 [_] 0% Enhance Firmata firmware to handle edge vs. level detection?
42 This has potential to reduce Firmata wire traffic.
43 [_] 0% Make a proposal.
44 [_] 33% Digital I/O Message (\x9#..)
45 These are edge-detected events out of the Arduino.
46 [X] 100% Parse them.
47 [_] 0% Store last values in the object.
48 [_] 0% Allow code to query the last values.
49 This can simulate repeated values given a latch pin.
50 [_] 50% Report analog pin (\xC#..)
51 [X] 100% Parse them.
52 Unnecessary however since this is an outbound command.
53 [X] 100% Create a strawman API to send the analog report command.
54 $device->analog_report(PORT, BOOL);
55 [_] 0% Settle upon a final API for this.
56 [_] 0% Validate port can perform the reqested action.
57 [_] 50% Report digital (\xD#..)
58 [X] 100% Parse them.
59 [X] 100% Create a strawman API to send the digital report command.
60 $device->digital_report(PORT, MASK);
61 [_] 0% Settle upon a final API for this.
62 [_] 0% For reading bytes...
63 $device->digital_report(PORT, MASK);
64 [_] 0% For reading bits/switches...
65 $device->digital_report(PIN);
66 [_] 0% Define semantics for mixed-mode reading.
67 [_] 0% Validate port can perform the reqested action.
68 [_] 25% Set Pin Mode (\xF4..)
69 [X] 100% Strawman method to send these commands.
70 [X] 100% $device->digital_in(PORT);
71 [X] 100% $device->digital_out(PORT);
72 [X] 100% $device->analog_in(PORT);
73 [X] 100% $device->pwm_out(PORT);
74 [X] 100% $device->servo_out(PORT);
75 [_] 0% Settle on final APIs for this.
76 [_] 0% Store last values in the object.
77 [_] 0% Validate port can perform the reqested action.
78 [_] 0% Additional API
79 [_] 0% Generic requirements
80 [_] 0% Pin commands must be validated against capabilities.
81 [_] 0% Pin naming
82 [_] 0% Strawman API
83 $device->pin_name( 13, "onboard_led" );
84 $device->pin_name( 13, undef );
85 [_] 0% Decide upon a final API
86 [_] 0% Pin Status
87 [_] 0% Strawman API
88 [_] 0% $device->pin_get(13);
89 [_] 0% $device->pin_stream(13);
90 [_] 0% Decide upon a final API.
Something went wrong with that request. Please try again.