kopia lustrzana https://github.com/peterhinch/micropython_eeprom
EEPROM: spi presence detect address randomisation.
rodzic
5861e93f48
commit
75e8311ffb
|
@ -16,10 +16,12 @@ def get_eep():
|
||||||
Pin.board.EN_3V3.value(1)
|
Pin.board.EN_3V3.value(1)
|
||||||
time.sleep(0.1) # Allow decouplers to charge
|
time.sleep(0.1) # Allow decouplers to charge
|
||||||
|
|
||||||
if uos.uname().sysname == "esp8266":
|
if uos.uname().sysname == "esp8266": # ESP8266 test fixture
|
||||||
eep = EEPROM(SoftI2C(scl=Pin(13, Pin.OPEN_DRAIN), sda=Pin(12, Pin.OPEN_DRAIN)), T24C512)
|
eep = EEPROM(SoftI2C(scl=Pin(13, Pin.OPEN_DRAIN), sda=Pin(12, Pin.OPEN_DRAIN)), T24C512)
|
||||||
else:
|
elif uos.uname().sysname == "esp32": # ChronoDot on ESP32-S3
|
||||||
eep = EEPROM(I2C(2), T24C512) # Pyboard D or 1.x
|
eep = EEPROM(SoftI2C(scl=Pin(9, Pin.OPEN_DRAIN), sda=Pin(8, Pin.OPEN_DRAIN)), 256, addr=0x50)
|
||||||
|
else: # Pyboard D test fixture
|
||||||
|
eep = EEPROM(I2C(2), T24C512)
|
||||||
print("Instantiated EEPROM")
|
print("Instantiated EEPROM")
|
||||||
return eep
|
return eep
|
||||||
|
|
||||||
|
|
|
@ -24,14 +24,16 @@ def get_eep(stm):
|
||||||
if stm:
|
if stm:
|
||||||
if ESP8266:
|
if ESP8266:
|
||||||
spi = SoftSPI(baudrate=5_000_000, sck=Pin(4), miso=Pin(0), mosi=Pin(2))
|
spi = SoftSPI(baudrate=5_000_000, sck=Pin(4), miso=Pin(0), mosi=Pin(2))
|
||||||
else: # Pyboard
|
else: # Pyboard. 1.22.1 hard SPI seems to have a read bug
|
||||||
spi = SPI(2, baudrate=5_000_000)
|
# spi = SPI(2, baudrate=5_000_000)
|
||||||
|
spi = SoftSPI(baudrate=5_000_000, sck=Pin('Y6'), miso=Pin('Y7'), mosi=Pin('Y8'))
|
||||||
eep = EEPROM(spi, cspins, 256)
|
eep = EEPROM(spi, cspins, 256)
|
||||||
else:
|
else:
|
||||||
if ESP8266:
|
if ESP8266:
|
||||||
spi = SoftSPI(baudrate=20_000_000, sck=Pin(4), miso=Pin(0), mosi=Pin(2))
|
spi = SoftSPI(baudrate=20_000_000, sck=Pin(4), miso=Pin(0), mosi=Pin(2))
|
||||||
else:
|
else:
|
||||||
spi = SPI(2, baudrate=20_000_000)
|
# spi = SPI(2, baudrate=20_000_000)
|
||||||
|
spi = SoftSPI(baudrate=20_000_000, sck=Pin('Y6'), miso=Pin('Y7'), mosi=Pin('Y8'))
|
||||||
eep = EEPROM(spi, cspins, 128)
|
eep = EEPROM(spi, cspins, 128)
|
||||||
print("Instantiated EEPROM")
|
print("Instantiated EEPROM")
|
||||||
return eep
|
return eep
|
||||||
|
|
|
@ -46,10 +46,10 @@ class EEPROM(EepromDevice):
|
||||||
def _devtest(self, cs, la, v=None):
|
def _devtest(self, cs, la, v=None):
|
||||||
buf = bytearray(1)
|
buf = bytearray(1)
|
||||||
mvp = self._mvp
|
mvp = self._mvp
|
||||||
mvp[:] = b"\0" * 5
|
# mvp[:] = b"\0" * 5 # test with addr 0
|
||||||
# mvp[1] = la >> 16
|
mvp[1] = la >> 16
|
||||||
# mvp[2] = (la >> 8) & 0xFF
|
mvp[2] = (la >> 8) & 0xFF
|
||||||
# mvp[3] = la & 0xFF
|
mvp[3] = la & 0xFF
|
||||||
mvp[0] = _READ
|
mvp[0] = _READ
|
||||||
cs(0)
|
cs(0)
|
||||||
self._spi.write(mvp[:4])
|
self._spi.write(mvp[:4])
|
||||||
|
|
Ładowanie…
Reference in New Issue