Skip to content

Commit f276d42

Browse files
committed
Set up the new python submodule with all of the work to date from pure-python. Changed the autogen template location to be in the python folder
1 parent f5d8b5f commit f276d42

9 files changed

+1561
-0
lines changed

ev3dev/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from ev3dev import *

ev3dev/ev3dev.py

Lines changed: 1474 additions & 0 deletions
Large diffs are not rendered by default.

spec_version.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#~autogen ../python/templates/python_spec_version
2+
spec_version = "spec: 0.9.3-pre-r1, kernel: v3.16.7-ckt10-4-ev3dev-ev3"
3+
4+
#~autogen
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{% assign class_name = currentClass.friendlyName | camel_case | capitalize %}
2+
{% assign device_name_convention = currentClass.systemDeviceNameConvention | replace: '\{0\}', '*' %}
3+
class {{ class_name }}(Ev3Device):
4+
5+
"""{% for line in currentClass.description %}
6+
{{ line }}{%
7+
endfor %}
8+
"""
9+
10+
SYSTEM_CLASS_NAME = '{{ currentClass.systemClassName }}'
11+
SYSTEM_DEVICE_NAME_CONVENTION = '{{ device_name_convention }}'
12+
13+
def __init__(self, port='auto', name='*' ):
14+
self._device = Ev3Device( {{ class_name }}.SYSTEM_CLASS_NAME, port, name )
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{% assign class_name = currentClass.friendlyName | downcase | underscore_spaces %}{%
2+
for prop in currentClass.systemProperties %}{%
3+
assign prop_name = prop.name | downcase | underscore_spaces %}{%
4+
if prop.readAccess %}
5+
6+
def __get_{{ prop_name }}(self):
7+
return self._device._get_{{ prop.type | underscore_spaces }}_attribute( '{{ prop_name }}', '{{ prop.systemName }}' ){%
8+
endif %}{%
9+
if prop.writeAccess %}
10+
11+
def __set_{{ prop_name }}(self, value):
12+
self._device._set_{{ prop.type | underscore_spaces }}_attribute( '{{ prop_name }}', '{{ prop.systemName }}', value ){%
13+
endif %}
14+
15+
__doc_{{ prop_name }} = ({%
16+
for line in prop.description %}
17+
"{{ line }}\n"{%
18+
endfor %} ){%
19+
if prop.readAccess and prop.writeAccess %}
20+
21+
{{ prop_name }} = property( __get_{{ prop_name }}, __set_{{ prop_name }}, None, __doc_{{ prop_name }} ){%
22+
elsif prop.readAccess %}
23+
24+
{{ prop_name }} = property( __get_{{ prop_name }}, None, None, __doc_{{ prop_name }} ){%
25+
elsif prop.writeAccess %}
26+
27+
{{ prop_name }} = property( None, __set_{{ prop_name }}, None, __doc_{{ prop_name }} ){%
28+
endif %}{%
29+
endfor %}
30+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{% for prop in currentClass.propertyValues %}{%
2+
assign className = currentClass.friendlyName | downcase | underscore_spaces %}{%
3+
assign propName = prop.propertyName | downcase | underscore_spaces %}
4+
5+
__propval_{{propName}} = { {%
6+
for value in prop.values %}
7+
'{{value.name}}':'{{value.description}}' ,{%
8+
endfor %}
9+
}{%
10+
endfor %}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{% comment %}
2+
{% for ledColor in classes.led.ev3LedColors %}
3+
.def("set_{{ ledColor[0] }}", &ev3::led::set_{{ ledColor[0] }}, args("intensity")).staticmethod("set_{{ ledColor[0] }}")
4+
.def("{{ ledColor[0] }}_on", &ev3::led::{{ ledColor[0] }}_on).staticmethod("{{ ledColor[0] }}_on")
5+
{% endfor %}
6+
{% endcomment %}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{% comment %}
2+
{% for prop in currentClass.propertyValues %}{%
3+
if prop.propertyName == 'Command' %}{%
4+
assign className = currentClass.friendlyName | downcase | underscore_spaces %}{%
5+
for value in prop.values %}{%
6+
assign commandName = value.name | downcase | underscore_non_wc %}
7+
def {{ className }}_{{ commandName }}(self, **attr):
8+
"""{%
9+
for line in value.description %}{{ line }}
10+
{% endfor %}"""
11+
12+
for key in attr:
13+
setattr(self, key, attr[key])
14+
self.command = "{{ value.name }}"
15+
16+
{{ className }}.{{commandName}} = {{ className }}_{{ commandName }}
17+
{%
18+
endfor %}{%
19+
endif %}{%
20+
endfor %}
21+
{% endcomment %}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
spec_version = "spec: {{ meta.version }}{% if meta.specRevision %}-r{{ meta.specRevision }}{% endif %}, kernel: {{ meta.supportedKernel }}"

0 commit comments

Comments
 (0)