File tree Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Original file line number Diff line number Diff line change 3737 "empty" : False ,
3838 "allowed" : STOPBITS_CHOICES ,
3939 },
40+ "delimiter" : {
41+ "type" : "string" ,
42+ "required" : False ,
43+ "empty" : True
44+ },
45+ "reset_before_read" : {
46+ "type" : "boolean" ,
47+ "required" : False ,
48+ "empty" : False ,
49+ "default" : False
50+ }
4051}
4152
4253# pylint: disable=no-member
@@ -80,7 +91,16 @@ def setup_module(self) -> None:
8091 self .ser .flushInput ()
8192
8293 def read (self ) -> Optional [bytes ]:
83- return self .ser .read (self .ser .in_waiting ) or None
94+ if ("delimiter" in self .config ):
95+ if ("reset_before_read" in self .config ):
96+ if (self .config ["reset_before_read" ]):
97+ self .ser .reset_input_buffer ()
98+ data = self .ser .read_until (self .config ["delimiter" ].encode ("utf-8" ))
99+ if data :
100+ data = data [:- len (self .config ["delimiter" ])]
101+ return data or None
102+ else :
103+ return self .ser .read (self .ser .in_waiting ) or None
84104
85105 def write (self , data : bytes ) -> None :
86106 self .ser .write (data )
You can’t perform that action at this time.
0 commit comments