@@ -15,16 +15,16 @@ local a2x_equities_rtmdf_amd_v1_3_2 = {}
1515---- -------------------------------------------------------------------
1616
1717-- A2X Equities Rtmdf Amd 1.3.2 Fields
18- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .aod_enabled = ProtoField .new (" Aod Enabled" , " a2x.equities.rtmdf.amd.v1.3.2.aodenabled" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x001000 )
18+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .aod_enabled = ProtoField .new (" Aod Enabled" , " a2x.equities.rtmdf.amd.v1.3.2.aodenabled" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x0400 )
1919omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .closing_buy_qty = ProtoField .new (" Closing Buy Qty" , " a2x.equities.rtmdf.amd.v1.3.2.closingbuyqty" , ftypes .UINT32 )
2020omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .closing_sell_qty = ProtoField .new (" Closing Sell Qty" , " a2x.equities.rtmdf.amd.v1.3.2.closingsellqty" , ftypes .UINT32 )
2121omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .currency = ProtoField .new (" Currency" , " a2x.equities.rtmdf.amd.v1.3.2.currency" , ftypes .STRING )
22- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .illiquid = ProtoField .new (" Illiquid" , " a2x.equities.rtmdf.amd.v1.3.2.illiquid" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x000400 )
22+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .illiquid = ProtoField .new (" Illiquid" , " a2x.equities.rtmdf.amd.v1.3.2.illiquid" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x1000 )
2323omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .indicative_price = ProtoField .new (" Indicative Price" , " a2x.equities.rtmdf.amd.v1.3.2.indicativeprice" , ftypes .UINT64 )
2424omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .isin = ProtoField .new (" Isin" , " a2x.equities.rtmdf.amd.v1.3.2.isin" , ftypes .STRING )
25- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_enabled = ProtoField .new (" Mac Enabled" , " a2x.equities.rtmdf.amd.v1.3.2.macenabled" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x000080 )
26- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_open = ProtoField .new (" Mac Open" , " a2x.equities.rtmdf.amd.v1.3.2.macopen" , ftypes .UINT8 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x02 )
27- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_run = ProtoField .new (" Mac Run" , " a2x.equities.rtmdf.amd.v1.3.2.macrun" , ftypes .UINT8 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x04 )
25+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_enabled = ProtoField .new (" Mac Enabled" , " a2x.equities.rtmdf.amd.v1.3.2.macenabled" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x8000 )
26+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_open = ProtoField .new (" Mac Open" , " a2x.equities.rtmdf.amd.v1.3.2.macopen" , ftypes .UINT8 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x40 )
27+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_run = ProtoField .new (" Mac Run" , " a2x.equities.rtmdf.amd.v1.3.2.macrun" , ftypes .UINT8 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x20 )
2828omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .market_flags = ProtoField .new (" Market Flags" , " a2x.equities.rtmdf.amd.v1.3.2.marketflags" , ftypes .STRING )
2929omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .match_vol = ProtoField .new (" Match Vol" , " a2x.equities.rtmdf.amd.v1.3.2.matchvol" , ftypes .UINT32 )
3030omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .message = ProtoField .new (" Message" , " a2x.equities.rtmdf.amd.v1.3.2.message" , ftypes .STRING )
@@ -43,19 +43,19 @@ omi_a2x_equities_rtmdf_amd_v1_3_2.fields.security_flags = ProtoField.new("Securi
4343omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .security_id = ProtoField .new (" Security Id" , " a2x.equities.rtmdf.amd.v1.3.2.securityid" , ftypes .UINT16 )
4444omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .seq_no = ProtoField .new (" Seq No" , " a2x.equities.rtmdf.amd.v1.3.2.seqno" , ftypes .UINT32 )
4545omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .side = ProtoField .new (" Side" , " a2x.equities.rtmdf.amd.v1.3.2.side" , ftypes .UINT8 )
46- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .test_stock = ProtoField .new (" Test Stock" , " a2x.equities.rtmdf.amd.v1.3.2.teststock" , ftypes .UINT16 , nil , base .DEC , 0x000300 )
46+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .test_stock = ProtoField .new (" Test Stock" , " a2x.equities.rtmdf.amd.v1.3.2.teststock" , ftypes .UINT16 , nil , base .DEC , 0x6000 )
4747omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .threshold = ProtoField .new (" Threshold" , " a2x.equities.rtmdf.amd.v1.3.2.threshold" , ftypes .UINT64 )
4848omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .tick_size = ProtoField .new (" Tick Size" , " a2x.equities.rtmdf.amd.v1.3.2.ticksize" , ftypes .UINT64 )
4949omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .tick_table_id = ProtoField .new (" Tick Table Id" , " a2x.equities.rtmdf.amd.v1.3.2.ticktableid" , ftypes .UINT8 )
5050omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .timestamp = ProtoField .new (" Timestamp" , " a2x.equities.rtmdf.amd.v1.3.2.timestamp" , ftypes .UINT64 )
5151omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trade_ref = ProtoField .new (" Trade Ref" , " a2x.equities.rtmdf.amd.v1.3.2.traderef" , ftypes .UINT32 )
5252omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trade_type = ProtoField .new (" Trade Type" , " a2x.equities.rtmdf.amd.v1.3.2.tradetype" , ftypes .UINT8 )
53- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trading = ProtoField .new (" Trading" , " a2x.equities.rtmdf.amd.v1.3.2.trading" , ftypes .UINT8 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x01 )
53+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trading = ProtoField .new (" Trading" , " a2x.equities.rtmdf.amd.v1.3.2.trading" , ftypes .UINT8 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x80 )
5454omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trading_status = ProtoField .new (" Trading Status" , " a2x.equities.rtmdf.amd.v1.3.2.tradingstatus" , ftypes .UINT8 )
5555omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .umtf = ProtoField .new (" Umtf" , " a2x.equities.rtmdf.amd.v1.3.2.umtf" , ftypes .STRING )
56- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_1 = ProtoField .new (" Unused 1" , " a2x.equities.rtmdf.amd.v1.3.2.unused1" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x000800 )
57- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_11 = ProtoField .new (" Unused 11 " , " a2x.equities.rtmdf.amd.v1.3.2.unused11 " , ftypes .UINT16 , nil , base .DEC , 0xFFE000 )
58- omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_5 = ProtoField .new (" Unused 5" , " a2x.equities.rtmdf.amd.v1.3.2.unused5" , ftypes .UINT8 , nil , base .DEC , 0xF8 )
56+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_1 = ProtoField .new (" Unused 1" , " a2x.equities.rtmdf.amd.v1.3.2.unused1" , ftypes .UINT16 , {[1 ]= " Yes" ,[0 ]= " No" }, base .DEC , 0x0800 )
57+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_10 = ProtoField .new (" Unused 10 " , " a2x.equities.rtmdf.amd.v1.3.2.unused10 " , ftypes .UINT16 , nil , base .DEC , 0x03FF )
58+ omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_5 = ProtoField .new (" Unused 5" , " a2x.equities.rtmdf.amd.v1.3.2.unused5" , ftypes .UINT8 , nil , base .DEC , 0x1F )
5959
6060-- A2X Equities Rtmdf Amd 1.3.2 messages
6161omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .auction_on_demand_message = ProtoField .new (" Auction On Demand Message" , " a2x.equities.rtmdf.amd.v1.3.2.auctionondemandmessage" , ftypes .STRING )
@@ -448,53 +448,58 @@ a2x_equities_rtmdf_amd_v1_3_2.market_flags = {}
448448a2x_equities_rtmdf_amd_v1_3_2 .market_flags .size = 1
449449
450450-- Display: Market Flags
451- a2x_equities_rtmdf_amd_v1_3_2 .market_flags .display = function (buffer , packet , parent )
451+ a2x_equities_rtmdf_amd_v1_3_2 .market_flags .display = function (range , value , packet , parent )
452452 local display = " "
453453
454454 -- Is Mac Run flag set?
455- if buffer : bitfield ( 5 ) > 0 then
455+ if bit . band ( value , 0x20 ) ~= 0 then
456456 display = display .. " Mac Run|"
457457 end
458458 -- Is Mac Open flag set?
459- if buffer : bitfield ( 6 ) > 0 then
459+ if bit . band ( value , 0x40 ) ~= 0 then
460460 display = display .. " Mac Open|"
461461 end
462462 -- Is Trading flag set?
463- if buffer : bitfield ( 7 ) > 0 then
463+ if bit . band ( value , 0x80 ) ~= 0 then
464464 display = display .. " Trading|"
465465 end
466466
467- return display :sub (1 , - 2 )
467+ if display :sub (- 1 ) == " |" then
468+ display = display :sub (1 , - 2 )
469+ end
470+
471+ return display
468472end
469473
470474-- Dissect Bit Fields: Market Flags
471- a2x_equities_rtmdf_amd_v1_3_2 .market_flags .bits = function (buffer , offset , packet , parent )
475+ a2x_equities_rtmdf_amd_v1_3_2 .market_flags .bits = function (range , value , packet , parent )
472476
473477 -- Unused 5: 5 Bit
474- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_5 , buffer ( offset , 1 ) )
478+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_5 , range , value )
475479
476480 -- Mac Run: 1 Bit
477- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_run , buffer ( offset , 1 ) )
481+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_run , range , value )
478482
479483 -- Mac Open: 1 Bit
480- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_open , buffer ( offset , 1 ) )
484+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_open , range , value )
481485
482486 -- Trading: 1 Bit
483- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trading , buffer ( offset , 1 ) )
487+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .trading , range , value )
484488end
485489
486490-- Dissect: Market Flags
487491a2x_equities_rtmdf_amd_v1_3_2 .market_flags .dissect = function (buffer , offset , packet , parent )
488- local size = 1
492+ local size = a2x_equities_rtmdf_amd_v1_3_2 . market_flags . size
489493 local range = buffer (offset , size )
490- local display = a2x_equities_rtmdf_amd_v1_3_2 .market_flags .display (range , packet , parent )
494+ local value = range :le_uint ()
495+ local display = a2x_equities_rtmdf_amd_v1_3_2 .market_flags .display (range , value , packet , parent )
491496 local element = parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .market_flags , range , display )
492497
493498 if show .market_flags then
494- a2x_equities_rtmdf_amd_v1_3_2 .market_flags .bits (buffer , offset , packet , element )
499+ a2x_equities_rtmdf_amd_v1_3_2 .market_flags .bits (range , value , packet , element )
495500 end
496501
497- return offset + 1 , range
502+ return offset + size , range
498503end
499504
500505-- Trading Status
@@ -595,63 +600,68 @@ a2x_equities_rtmdf_amd_v1_3_2.security_flags = {}
595600a2x_equities_rtmdf_amd_v1_3_2 .security_flags .size = 2
596601
597602-- Display: Security Flags
598- a2x_equities_rtmdf_amd_v1_3_2 .security_flags .display = function (buffer , packet , parent )
603+ a2x_equities_rtmdf_amd_v1_3_2 .security_flags .display = function (range , value , packet , parent )
599604 local display = " "
600605
601606 -- Is Aod Enabled flag set?
602- if buffer : bitfield ( 11 ) > 0 then
607+ if bit . band ( value , 0x0400 ) ~= 0 then
603608 display = display .. " Aod Enabled|"
604609 end
605610 -- Is Unused 1 flag set?
606- if buffer : bitfield ( 12 ) > 0 then
611+ if bit . band ( value , 0x0800 ) ~= 0 then
607612 display = display .. " Unused 1|"
608613 end
609614 -- Is Illiquid flag set?
610- if buffer : bitfield ( 13 ) > 0 then
615+ if bit . band ( value , 0x1000 ) ~= 0 then
611616 display = display .. " Illiquid|"
612617 end
613618 -- Is Mac Enabled flag set?
614- if buffer : bitfield ( 16 ) > 0 then
619+ if bit . band ( value , 0x8000 ) ~= 0 then
615620 display = display .. " Mac Enabled|"
616621 end
617622
618- return display :sub (1 , - 2 )
623+ if display :sub (- 1 ) == " |" then
624+ display = display :sub (1 , - 2 )
625+ end
626+
627+ return display
619628end
620629
621630-- Dissect Bit Fields: Security Flags
622- a2x_equities_rtmdf_amd_v1_3_2 .security_flags .bits = function (buffer , offset , packet , parent )
631+ a2x_equities_rtmdf_amd_v1_3_2 .security_flags .bits = function (range , value , packet , parent )
623632
624- -- Unused 11: 11 Bit
625- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_11 , buffer ( offset , 2 ) )
633+ -- Unused 10: 10 Bit
634+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_10 , range , value )
626635
627636 -- Aod Enabled: 1 Bit
628- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .aod_enabled , buffer ( offset , 2 ) )
637+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .aod_enabled , range , value )
629638
630639 -- Unused 1: 1 Bit
631- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_1 , buffer ( offset , 2 ) )
640+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .unused_1 , range , value )
632641
633642 -- Illiquid: 1 Bit
634- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .illiquid , buffer ( offset , 2 ) )
643+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .illiquid , range , value )
635644
636645 -- Test Stock: 2 Bit
637- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .test_stock , buffer ( offset , 2 ) )
646+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .test_stock , range , value )
638647
639648 -- Mac Enabled: 1 Bit
640- parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_enabled , buffer ( offset , 2 ) )
649+ parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .mac_enabled , range , value )
641650end
642651
643652-- Dissect: Security Flags
644653a2x_equities_rtmdf_amd_v1_3_2 .security_flags .dissect = function (buffer , offset , packet , parent )
645- local size = 2
654+ local size = a2x_equities_rtmdf_amd_v1_3_2 . security_flags . size
646655 local range = buffer (offset , size )
647- local display = a2x_equities_rtmdf_amd_v1_3_2 .security_flags .display (range , packet , parent )
656+ local value = range :le_uint ()
657+ local display = a2x_equities_rtmdf_amd_v1_3_2 .security_flags .display (range , value , packet , parent )
648658 local element = parent :add (omi_a2x_equities_rtmdf_amd_v1_3_2 .fields .security_flags , range , display )
649659
650660 if show .security_flags then
651- a2x_equities_rtmdf_amd_v1_3_2 .security_flags .bits (buffer , offset , packet , element )
661+ a2x_equities_rtmdf_amd_v1_3_2 .security_flags .bits (range , value , packet , element )
652662 end
653663
654- return offset + 2 , range
664+ return offset + size , range
655665end
656666
657667-- Tick Table Id
0 commit comments