]>
vault307.fbx.one Git - PicoTamachibi.git/blob - sdcardtest.py
12 # Create a file and write something to it
13 #with open("/sd/test01.txt", "w") as file:
14 # file.write(json.dumps(mytestdata))
16 # Open the file we just created and read from it
17 #with open("/sd/test01.txt", "r") as file:
20 # varx =json.loads(data)
21 # print(varx["health"])
23 class SaveGameManager
:
30 def __init__(self
, savename
="01"):
33 # Assign chip select (CS) pin (and start it high)
34 self
.__cs
= machine
.Pin(9, machine
.Pin
.OUT
)
36 # Intialize SPI peripheral (start with 1 MHz)
37 self
.__spi
= machine
.SPI(1,
42 firstbit
=machine
.SPI
.MSB
,
48 self
.__sd
= sdcard
.SDCard(self
.__spi
, self
.__cs
)
51 self
.__FileSocket
= uos
.VfsFat(self
.__sd
)
52 uos
.mount(self
.__FileSocket
, "/sd")
62 def CheckFilesystemReady(self
):
63 if self
.__FileSocket
is None:
64 print("No FileSocket")
68 def LoadSaveData(self
):
70 # Open the file we just created and read from it
71 if not self
.CheckFilesystemReady
:
72 return # If we have no filesystem we cannot write or read anyways...
74 with open("/sd/test00.txt", "rb") as file:
75 file.read(1) #ignore first byte, it containes the version number as binary... later :)
77 self
.__SaveGameData
= json
.loads(data
)
79 def WriteSaveData(self
):
80 if not self
.CheckFilesystemReady
:
81 pass # If we have no filesystem we cannot write or read anyways...
82 # Create a file and write something to it
83 with open("/sd/test01.txt", "wb") as file:
85 file.write(json
.dumps(self
.__SaveGameData
))
87 def UpdateData(self
, key
, value
):
88 print("updating internal data")
89 self
.__SaveGameData
[key
]=value
91 def GetData(self
, key
, defaultvalue
=""):
92 print("getting internaldata")
93 if key
in self
.__SaveGameData
:
94 return self
.__SaveGameData
98 mysavegame
= SaveGameManager()
99 mysavegame
.UpdateData("bla","blub")
100 mysavegame
.WriteSaveData()
101 mysavegame
.LoadSaveData()
102 print(mysavegame
.GetData("bla"))
103 print("x:"+mysavegame
.GetData("something"))
104 print("x:"+mysavegame
.GetData("something","defaultthing"))