@@ -40,20 +40,21 @@ namespace OpenAC.Net.EscPos.Interpreter.Epson
4040 public sealed class EpsonInfoImpressoraResolver : InfoResolver < InformacoesImpressora >
4141 {
4242 public EpsonInfoImpressoraResolver ( Encoding encoding ) :
43- base ( new [ ] { new [ ] { CmdConst . GS , ( byte ) 'I' , ( byte ) 'B' } , new [ ] { CmdConst . GS , ( byte ) 'I' , ( byte ) 'C' } , new [ ] { CmdConst . GS , ( byte ) 'I' , ( byte ) 'A' } , new [ ] { CmdConst . GS , ( byte ) 'I' , ( byte ) '2' } } ,
43+ base ( new [ ] { new byte [ ] { CmdConst . GS , 73 , 66 } , new byte [ ] { CmdConst . GS , 73 , 67 } , new byte [ ] { CmdConst . GS , 73 , 65 } , new byte [ ] { CmdConst . GS , 73 , 68 } , new byte [ ] { CmdConst . GS , 73 , 50 } } ,
4444 ( dados ) =>
4545 {
4646 if ( dados . IsNullOrEmpty ( ) ) return InformacoesImpressora . Empty ;
4747 if ( dados . Length < 4 ) return InformacoesImpressora . Empty ;
4848
4949 var bitTest = new Func < int , byte , bool > ( ( value , index ) => ( ( value >> index ) & 1 ) == 1 ) ;
5050
51- var fabricante = dados [ 0 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 0 ] ) ;
52- var modelo = dados [ 1 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 1 ] ) ;
53- var firmware = dados [ 2 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 2 ] ) ;
54- var guilhotina = ! dados [ 3 ] . IsNullOrEmpty ( ) && bitTest ( dados [ 3 ] [ 0 ] , 1 ) ;
51+ var fabricante = dados [ 0 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 0 ] ) . Trim ( ) . TrimStart ( '_' ) . Replace ( "\0 " , string . Empty ) ;
52+ var modelo = dados [ 1 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 1 ] ) . Trim ( ) . TrimStart ( '_' ) . Replace ( "\0 " , string . Empty ) ;
53+ var firmware = dados [ 2 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 2 ] ) . Trim ( ) . TrimStart ( '_' ) . Replace ( "\0 " , string . Empty ) ;
54+ var serial = dados [ 3 ] . IsNullOrEmpty ( ) ? "" : encoding . GetString ( dados [ 3 ] ) . Trim ( ) . TrimStart ( '_' ) . Replace ( "\0 " , string . Empty ) ;
55+ var guilhotina = ! dados [ 4 ] . IsNullOrEmpty ( ) && bitTest ( dados [ 4 ] [ 0 ] , 1 ) ;
5556
56- return new InformacoesImpressora ( fabricante , modelo , firmware , guilhotina ) ;
57+ return new InformacoesImpressora ( fabricante , modelo , firmware , serial , guilhotina ) ;
5758 } )
5859 { }
5960 }
0 commit comments