mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
Merge remote-tracking branch 'upstream/1.3.2-updates'
Conflicts: docs/changelog.rst gpiozero/pins/data.py
This commit is contained in:
@@ -9,6 +9,7 @@ Release 1.3.2 (2017-03-03)
|
|||||||
==========================
|
==========================
|
||||||
|
|
||||||
* Added new Pi models to stop :func:`pi_info` breaking
|
* Added new Pi models to stop :func:`pi_info` breaking
|
||||||
|
* Fix issue with :func:`pi_info` breaking on unknown Pi models
|
||||||
|
|
||||||
Release 1.3.1 (2016-08-31 ... later)
|
Release 1.3.1 (2016-08-31 ... later)
|
||||||
====================================
|
====================================
|
||||||
|
|||||||
@@ -344,6 +344,23 @@ CM_SODIMM = {
|
|||||||
199: ('VBAT', False), 200: ('VBAT', False),
|
199: ('VBAT', False), 200: ('VBAT', False),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CM3_SODIMM = CM_SODIMM.copy()
|
||||||
|
CM3_SODIMM.update({
|
||||||
|
4: ('NC / SDX VREF', False),
|
||||||
|
6: ('NC / SDX VREF', False),
|
||||||
|
8: (GND, False),
|
||||||
|
10: ('NC / SDX CLK', False),
|
||||||
|
12: ('NC / SDX CMD', False),
|
||||||
|
14: (GND, False),
|
||||||
|
16: ('NC / SDX D0', False),
|
||||||
|
18: ('NC / SDX D1', False),
|
||||||
|
20: (GND, False),
|
||||||
|
22: ('NC / SDX D2', False),
|
||||||
|
24: ('NC / SDX D3', False),
|
||||||
|
88: ('HDMI HPD N 1V8', False),
|
||||||
|
90: ('EMMC EN N 1V8', False),
|
||||||
|
})
|
||||||
|
|
||||||
# The following data is sourced from a combination of the following locations:
|
# The following data is sourced from a combination of the following locations:
|
||||||
#
|
#
|
||||||
# http://elinux.org/RPi_HardwareHistory
|
# http://elinux.org/RPi_HardwareHistory
|
||||||
@@ -835,6 +852,8 @@ class PiBoardInfo(namedtuple('PiBoardInfo', (
|
|||||||
6: 'CM',
|
6: 'CM',
|
||||||
8: '3B',
|
8: '3B',
|
||||||
9: 'Zero',
|
9: 'Zero',
|
||||||
|
10: 'CM3',
|
||||||
|
12: 'Zero W',
|
||||||
}[(revision & 0xff0) >> 4]
|
}[(revision & 0xff0) >> 4]
|
||||||
if model in ('A', 'B'):
|
if model in ('A', 'B'):
|
||||||
pcb_revision = {
|
pcb_revision = {
|
||||||
@@ -844,16 +863,6 @@ class PiBoardInfo(namedtuple('PiBoardInfo', (
|
|||||||
}[revision & 0x0f]
|
}[revision & 0x0f]
|
||||||
else:
|
else:
|
||||||
pcb_revision = '1.%d' % (revision & 0x0f)
|
pcb_revision = '1.%d' % (revision & 0x0f)
|
||||||
released = {
|
|
||||||
'A': '2013Q1',
|
|
||||||
'B': '2012Q1' if pcb_revision == '1.0' else '2012Q4',
|
|
||||||
'A+': '2014Q4',
|
|
||||||
'B+': '2014Q3',
|
|
||||||
'2B': '2015Q1' if pcb_revision == '1.0' or pcb_revision == '1.1' else '2016Q3',
|
|
||||||
'CM': '2014Q2',
|
|
||||||
'3B': '2016Q1',
|
|
||||||
'Zero': '2015Q4' if pcb_revision == '1.2' else '2016Q2',
|
|
||||||
}[model]
|
|
||||||
soc = {
|
soc = {
|
||||||
0: 'BCM2835',
|
0: 'BCM2835',
|
||||||
1: 'BCM2836',
|
1: 'BCM2836',
|
||||||
@@ -863,55 +872,72 @@ class PiBoardInfo(namedtuple('PiBoardInfo', (
|
|||||||
0: 'Sony',
|
0: 'Sony',
|
||||||
1: 'Egoman',
|
1: 'Egoman',
|
||||||
2: 'Embest',
|
2: 'Embest',
|
||||||
|
3: 'Sony Japan',
|
||||||
}[(revision & 0xf0000) >> 16]
|
}[(revision & 0xf0000) >> 16]
|
||||||
memory = {
|
memory = {
|
||||||
0: 256,
|
0: 256,
|
||||||
1: 512,
|
1: 512,
|
||||||
2: 1024,
|
2: 1024,
|
||||||
}[(revision & 0x700000) >> 20]
|
}[(revision & 0x700000) >> 20]
|
||||||
|
released = {
|
||||||
|
'A': '2013Q1',
|
||||||
|
'B': '2012Q1' if pcb_revision == '1.0' else '2012Q4',
|
||||||
|
'A+': '2014Q4' if memory == 512 else '2016Q3',
|
||||||
|
'B+': '2014Q3',
|
||||||
|
'2B': '2015Q1' if pcb_revision == '1.1' else '2016Q3',
|
||||||
|
'CM': '2014Q2',
|
||||||
|
'3B': '2016Q1' if manufacturer == 'Sony' or manufacturer == 'Embest' else '2016Q4',
|
||||||
|
'Zero': '2015Q4' if pcb_revision == '1.0' else '2016Q2',
|
||||||
|
'CM3': '2017Q1',
|
||||||
|
'Zero W': '2017Q1',
|
||||||
|
}[model]
|
||||||
storage = {
|
storage = {
|
||||||
'A': 'SD',
|
'A': 'SD',
|
||||||
'B': 'SD',
|
'B': 'SD',
|
||||||
'CM': 'eMMC',
|
'CM': 'eMMC',
|
||||||
|
'CM3': 'eMMC / off-board',
|
||||||
}.get(model, 'MicroSD')
|
}.get(model, 'MicroSD')
|
||||||
usb = {
|
usb = {
|
||||||
'A': 1,
|
'A': 1,
|
||||||
'A+': 1,
|
'A+': 1,
|
||||||
'Zero': 1,
|
'Zero': 1,
|
||||||
|
'Zero W': 1,
|
||||||
'B': 2,
|
'B': 2,
|
||||||
'CM': 1,
|
'CM': 0,
|
||||||
|
'CM3': 1,
|
||||||
}.get(model, 4)
|
}.get(model, 4)
|
||||||
ethernet = {
|
ethernet = {
|
||||||
'A': 0,
|
'A': 0,
|
||||||
'A+': 0,
|
'A+': 0,
|
||||||
'Zero': 0,
|
'Zero': 0,
|
||||||
|
'Zero W': 0,
|
||||||
'CM': 0,
|
'CM': 0,
|
||||||
|
'CM3': 0,
|
||||||
}.get(model, 1)
|
}.get(model, 1)
|
||||||
wifi = {
|
wifi = {
|
||||||
'3B': True,
|
'3B': True,
|
||||||
|
'Zero W': True,
|
||||||
}.get(model, False)
|
}.get(model, False)
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
'3B': True,
|
'3B': True,
|
||||||
|
'Zero W': True,
|
||||||
}.get(model, False)
|
}.get(model, False)
|
||||||
csi = {
|
csi = {
|
||||||
'Zero': 0 if pcb_revision == '1.2' else 1,
|
'Zero': 0 if pcb_revision == '1.0' else 1,
|
||||||
|
'Zero W': 1,
|
||||||
'CM': 2,
|
'CM': 2,
|
||||||
|
'CM3': 2,
|
||||||
}.get(model, 1)
|
}.get(model, 1)
|
||||||
dsi = {
|
dsi = {
|
||||||
'Zero': 0,
|
'Zero': 0,
|
||||||
|
'Zero W': 0,
|
||||||
}.get(model, csi)
|
}.get(model, csi)
|
||||||
headers = {
|
headers = {
|
||||||
'A': {'P1': REV2_P1, 'P5': REV2_P5},
|
'A': {'P1': REV2_P1, 'P5': REV2_P5},
|
||||||
'B': {'P1': REV1_P1} if pcb_revision == '1.0' else {'P1': REV2_P1, 'P5': REV2_P5},
|
'B': {'P1': REV2_P1, 'P5': REV2_P5} if pcb_revision == '2.0' else {'P1': REV1_P1},
|
||||||
'CM': {'SODIMM': CM_SODIMM},
|
'CM': {'SODIMM': CM_SODIMM},
|
||||||
|
'CM3': {'SODIMM': CM3_SODIMM},
|
||||||
}.get(model, {'P1': PLUS_P1})
|
}.get(model, {'P1': PLUS_P1})
|
||||||
board = {
|
|
||||||
'A': A_BOARD,
|
|
||||||
'B': REV1_BOARD if pcb_revision == '1.0' else REV2_BOARD,
|
|
||||||
'A+': APLUS_BOARD,
|
|
||||||
'CM': CM_BOARD,
|
|
||||||
'Zero': ZERO12_BOARD if pcb_revision == '1.2' else ZERO13_BOARD,
|
|
||||||
}.get(model, BPLUS_BOARD)
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise PinUnknownPi('unable to parse new-style revision "%x"' % revision)
|
raise PinUnknownPi('unable to parse new-style revision "%x"' % revision)
|
||||||
else:
|
else:
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -22,7 +22,7 @@ except ImportError:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
__project__ = 'gpiozero'
|
__project__ = 'gpiozero'
|
||||||
__version__ = '1.3.1.post1'
|
__version__ = '1.3.2'
|
||||||
__author__ = 'Ben Nuttall'
|
__author__ = 'Ben Nuttall'
|
||||||
__author_email__ = 'ben@raspberrypi.org'
|
__author_email__ = 'ben@raspberrypi.org'
|
||||||
__url__ = 'https://github.com/RPi-Distro/python-gpiozero'
|
__url__ = 'https://github.com/RPi-Distro/python-gpiozero'
|
||||||
|
|||||||
Reference in New Issue
Block a user