11import lvgl as lv
22import uos
3+ import vfs
34import machine
45import time
56
6- subwindow .clean ()
7- canary = lv .obj (subwindow )
8- canary .add_flag (lv .obj .FLAG .HIDDEN )
9-
107# LVGL File System Driver for LittleFS
118class LittleFSDriver :
129 def __init__ (self , letter = 'L' ):
1310 self .letter = letter
14- self .files = {} # Track open files
11+ self .files = {}
1512 def init (self ):
1613 drv = lv .fs_drv_t ()
1714 lv .fs_drv_init (drv )
@@ -107,10 +104,9 @@ def dir_read_cb(self, drv, dir_p, fn):
107104 dir_obj = self .files [dir_id ]
108105 if dir_obj ['index' ] < len (dir_obj ['list' ]):
109106 name = dir_obj ['list' ][dir_obj ['index' ]]
110- # Check if it's a directory
111107 try :
112108 uos .stat (dir_obj ['path' ] + '/' + name + '/' )
113- name = '/' + name # Prefix directories with '/'
109+ name = '/' + name
114110 except :
115111 pass
116112 dir_obj ['index' ] += 1
@@ -131,19 +127,19 @@ def dir_close_cb(self, drv, dir_p):
131127fs_drv = LittleFSDriver ('L' )
132128fs_drv .init ()
133129
130+ # Create subwindow
131+ subwindow = lv .obj ()
132+ subwindow .set_size (lv .pct (100 ), lv .pct (100 ))
134133# Create File Explorer
135134def file_explorer_event_cb (e ):
136135 code = e .get_code ()
137136 obj = e .get_target ()
138- if code == lv .EVENT_VALUE_CHANGED :
137+ if code == lv .EVENT . VALUE_CHANGED :
139138 file_path = obj .get_selected_file_path ()
140139 print (f"Selected file: { file_path } " )
141140
142141
143142explorer = lv .file_explorer (subwindow )
144143explorer .set_size (lv .pct (100 ), lv .pct (100 ))
145- # explorer.set_root_path("L:/")
144+ explorer .set_root_path ("L:/" )
146145explorer .add_event_cb (file_explorer_event_cb , lv .EVENT .VALUE_CHANGED , None )
147-
148- while canary .is_valid ():
149- time .sleep_ms (100 )
0 commit comments