blob: f69a23622b3ca615f8b9232df624d26da1555d43 [file] [log] [blame]
/* Copyright (c) 2000-2019 Ericsson Telecom AB AB
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Michael Josenhans
******************************************************************************/
//
// File: Isobustest_plain_socketcan.ttcn
// Description: Encoder / Decoder for Isobus message frames
//
// Revision R1A
module Isobustest_test_encoder{
import from Isobus all
import from IsobusVT_Templates all
import from J1939 all
//component declarations
type component MTC_CT
{
}
testcase tc_encdec() runs on MTC_CT
{
template J1939_messageWithPGN t_address_claimed := {pgn := '00EEFF'O,
pdu := {addressClaimedOrCannotClaimSourceAddress := { name := {
identityNumber := 514,
manufacturerCode := 368,
ecuInstance := 3,
functionInstance := 5,
function_ := 3,
reserved := 0,
vehicleSystem := 101,
vehicleSystemInstance := 1,
industryGroup := 3,
arbitraryAddresssBit := 0
}}}}
log(f_encode_J1939_message(valueof(t_address_claimed)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_address_claimed))))
log("--------------------------------------------")
template J1939_messageWithPGN t_requestForAddressClaimed := {pgn := '00EA00'O,
pdu := {requestForAddressClaimed := {pgn := 123}}}
log(f_encode_J1939_message(valueof(t_requestForAddressClaimed)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_requestForAddressClaimed))))
log("--------------------------------------------")
// template CAN_frame_j1939 t_CAN_frame_j1939_3 := { can_j1939 := { prio := 0, res := '0'B, dp := '0'B, pf := '00'O, ps := 'FD'O, sa := 'C0'O }, can_pdu := { cannotClaimSourceAddress := { name := {
// arbitraryAddresssBitValue := 0,
// industryGroupValue := 3,
// vehicleSystemInstanceValue := 1,
// vehicleSystemValue := 101,
// reservedValue := 0,
// functionValue := 3,
// functionInstanceValue := 5,
// ecuInstanceValue := 3,
// manufacturerCodeValue := 368,
// identityNumberValue := 514 } }}}
// log(f_encode_CAN_frame_j1939(valueof(t_CAN_frame_j1939_3)))
// log("--------------------------------------------")
// log(f_decode_CAN_frame_j1939(f_encode_CAN_frame_j1939(valueof(t_CAN_frame_j1939_3))))
// log("--------------------------------------------")
template J1939_messageWithPGN t_commandedAddress := {pgn := '00FED8'O,
pdu := { commandedAddress := {
name := {
identityNumber := 514,
manufacturerCode := 368,
ecuInstance := 3,
functionInstance := 5,
function_ := 3,
reserved := 0,
vehicleSystem := 101,
vehicleSystemInstance := 1,
industryGroup := 3,
arbitraryAddresssBit := 0 },
newSourceAddress:='AA'O
} } }
log(f_encode_J1939_message(valueof(t_commandedAddress)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_commandedAddress))))
log("--------------------------------------------")
}
testcase tc_encdec_vtStatusReq() runs on MTC_CT
{
template J1939_messageWithPGN t_commandedAddress := {pgn := '00E600'O,
pdu := {vt2ecu := {vtStatusInd :=
{ vtfunction := 254,
sourceAddressOfActiveWorkingSetMaster := '11'O,
objectIDOfTheVisibleDataAlarmMaskOfTheActiveWorkingSet := '2233'O,
objectIDOfTheVisibleSoftKeyMaskOfTheActiveWorkingSet := '4455'O,
vtBusyCodes := vtIsBusyExecutingACommand,
vtFunctionCode := '66'O}}}}
log(f_encode_J1939_message(valueof(t_commandedAddress)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_commandedAddress))))
log("--------------------------------------------")
}
testcase tc_encdec_getMemoryReq() runs on MTC_CT
{
template J1939_messageWithPGN t_commandedAddress := {pgn := '00E700'O,
pdu := {ecu2vt := {getMemoryReq :=
{ vtfunction := 192,
reserved2 := 'FF'O,
memoryRequired := 1234567}}}}
log(f_encode_J1939_message(valueof(t_commandedAddress)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_commandedAddress))))
log("--------------------------------------------")
}
testcase tc_encdec_getMemoryReq_with_template() runs on MTC_CT // using a template
{
template J1939_messageWithPGN t_getMemoryReq := t_GetMemoryReq(1234567)
log(f_encode_J1939_message(valueof(t_getMemoryReq)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_getMemoryReq))))
log("--------------------------------------------")
}
testcase tc_encdec_workingSetMaintenanceReq() runs on MTC_CT // using a template
{
template J1939_messageWithPGN t_workingSetMaintenanceReq := t_WorkingSetMaintenanceInd(
true,
compliantWithVTVersion4)
log(f_encode_J1939_message(valueof(t_workingSetMaintenanceReq)))
log("--------------------------------------------")
log(f_decode_J1939_message(f_encode_J1939_message(valueof(t_workingSetMaintenanceReq))))
log("--------------------------------------------")
}
//testcase tc_dec_largemessage() runs on MTC_CT
//{
//
// var octetstring j1939_pdu
// //j1939_pdu := '18EAFFFE00EE00'O
// //j1939_pdu := '18EEFFF83102032E003D0080'O
// //j1939_pdu := '18EEFFF73102032E008200A0'O
// //j1939_pdu := '18EAF8F8EBFE00'O
// j1939_pdu := '18ECF8F810160004FFEBFE00'O
//
// // j1939_pdu := '00E726F8B3DA590B0066696C6520736572766572'O
// // j1939_pdu := '03FE00F8FE2A66696C65207365727665722A3139373136392A2D2A'O
// // j1939_pdu := '03FE00F82A66696C65207365727665722A3139373136392A2D2A'O
// // j1939_pdu := '03FE00262A6661726D20646973706C61792A3139373136392A2D2A'O
// // j1939_pdu := '03FE00F72A7461736B20636F6E74726F6C6C65722A3139373136392A2D2A'O
// // j1939_pdu := '03FE00FD2A6661726D20646973706C61792A3139373136392A2D2A'O
// // j1939_pdu := '01FD00F82D2A3139373136392A2D2A2D2A6E696E67757065782A2D2A'O
// // j1939_pdu := '01FD00262D2A3139373136392A2D2A2D2A6E696E67757065782A2D2A'O
// // j1939_pdu := '01FD00F72D2A3139373136392A2D2A2D2A6E696E67757065782A2D2A'O
// // j1939_pdu := '01FD00262D2A3139373136392A2D2A2D2A6E696E67757065782A2D2A'O
// // j1939_pdu := '01FD00FD2D2A3139373136392A2D2A2D2A6E696E67757065782A2D2A'O
// // j1939_pdu := '02FE00FD016661726D20646973706C617920312E33372E31362E3733352A'O
// // j1939_pdu := '02FE0026026661726D20646973706C617920312E33372E31362E3733352A69736F627573206C69627261727920312E32362E332E3932382A'O
// // j1939_pdu := '02FE00F8096E696E67757065782066696C6520736572766572207573657220696E74657266616365204E5820322E322E342E3237302A746F6F6C206C69627261727920322E34322E382E3834302A6C6F67206C69627261727920322E302E31312E3136342A636F6E66696775726174696F6E206C69627261727920312E31322E322E3139332A43414E20627573206861726477617265206C69627261727920312E31392E352E3139382A7365637572697479206C69627261727920312E31312E302E3332312A69736F627573206C69627261727920312E32362E332E3932382A69736F62757320636F6D6D6F6E206C69627261727920322E31322E302E3139332A66696C652073657276657220312E342E352E3235382A'O
// // j1939_pdu := '9CFE0DF8FE01FFFFFFFFFFFFFF'O
//
// log(j1939_pdu)
// log("--------------------------------------------")
// log(f_decode_CAN_frame_j1939(j1939_pdu))
// log("--------------------------------------------")
//}
testcase tc_dec_message1() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'fefeffffffff00ff'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message2() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'ff0104ffffffffff'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message3() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'c7ffffffffffffff'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message4() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'c7ff02cde001e001'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message5() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'c2ffffffffffffff'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message6() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'c200ffff7d48400c'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message7() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'C3FFFFFFFFFFFFFF'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message8() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'C3FFFFFFFF7F7FFF'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message9() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'C0FF00000000FFFF'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message10() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'C00400FFFFFFFFFF'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message11() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'DFFFFFFFFFFFFFFF'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message12() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'E00130303034333030'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message13() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e700'O
j1939_pdu := 'D130303034333030'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message14() runs on MTC_CT
{
var J1939_PGN j1939_pgn
var octetstring j1939_pdu
j1939_pgn := '00e600'O
j1939_pdu := 'D1FFFFFFFF00FFFF'O
log(j1939_pgn, j1939_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn & j1939_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message15() runs on MTC_CT
{
var octetstring j1939_pgn_and_pdu
j1939_pgn_and_pdu := '00E600E00130303032303036'O
log(j1939_pgn_and_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn_and_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message16() runs on MTC_CT
{
var octetstring j1939_pgn_and_pdu
j1939_pgn_and_pdu := '00E700D130303032303036'O
log(j1939_pgn_and_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn_and_pdu))
log("--------------------------------------------")
}
testcase tc_dec_message17() runs on MTC_CT
{
var octetstring j1939_pgn_and_pdu
j1939_pgn_and_pdu := '00E60009D00701FFFF01FF'O
j1939_pgn_and_pdu := '00E70009D00701FFFF01FF'O
j1939_pgn_and_pdu := '00E600FEF8D007FFFF00FF'O
j1939_pgn_and_pdu := '00E600B3FFFFDA5900FFFF'O
j1939_pgn_and_pdu := '00E700A82BD3FFBC0B0000'O
j1939_pgn_and_pdu := '00E600A82BD300BC0B0000'O
j1939_pgn_and_pdu := '00E700A82CD3FFBB0B0000'O
j1939_pgn_and_pdu := '00E600A82CD300BB0B0000'O
j1939_pgn_and_pdu := '00E700A82DD3FFBB0B0000'O
j1939_pgn_and_pdu := '00E600A82DD300BB0B0000'O
j1939_pgn_and_pdu := '00E600D1FFFFFFFF00FFFF'O
j1939_pgn_and_pdu := '00E700B3DA590B0066696C6520736572766572'O
j1939_pgn_and_pdu := '00E60009D00701FFFF00FF'O
j1939_pgn_and_pdu := '00E70009D00701FFFF00FF'O
j1939_pgn_and_pdu := '00E700B302D72B00746F756368206F72207072657373206B657920746F206D6F766520686572652066726F6D20565420233100'O
j1939_pgn_and_pdu := '00E600B3FFFF02D700FFFF'O
j1939_pgn_and_pdu := '00E700B3B42D08006E696E6775706578'O
j1939_pgn_and_pdu := '00E600B3FFFFB42D00FFFF'O
j1939_pgn_and_pdu := '00E700A875D6FFC4DA0000'O
j1939_pgn_and_pdu := '00E600A875D600C4DA0000'O
//..
j1939_pgn_and_pdu := '00E700AD0000ED03FFFFFF'O
j1939_pgn_and_pdu := '00E600ADED0300FFFFFFFF'O
log(j1939_pgn_and_pdu)
log("--------------------------------------------")
log(f_decode_J1939_message(j1939_pgn_and_pdu))
log("--------------------------------------------")
}
function f_reverse_j1939_name_withoutencoding(in J1939_NAME p_j1939_name)
//runs on PTC_isobus_CT
return J1939_NAME{
var J1939_NAME v_j1939_name_reverse :=
p_j1939_name[7]& p_j1939_name[6]& p_j1939_name[5]&
p_j1939_name[4]& p_j1939_name[3]& p_j1939_name[2]&
p_j1939_name[1]& p_j1939_name[0];
return v_j1939_name_reverse
}
// f_reverse_j1939_name() has the same behaviour as f_reverse_j1939_name_withoutencoding()
function f_reverse_j1939_name(in J1939_NAME p_j1939_name)
//runs on PTC_isobus_CT
return J1939_NAME{
var J1939_NAME v_j1939_name_reverse := f_encode_J1939_name(p_j1939_name)
return v_j1939_name_reverse
}
testcase tc_dec_name_1() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E003D0080'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name(f_decode_J1939_name(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_2() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E008200A0'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name(f_decode_J1939_name(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_3() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E001D0080'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name(f_decode_J1939_name(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_4() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E008100A0'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name(f_decode_J1939_name(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_5() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E00800AA1'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name(f_decode_J1939_name(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_6() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E193D0B93'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name(f_decode_J1939_name(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_record_1() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E003D0080'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name_record(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name_record(f_decode_J1939_name_record(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_record_2() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E008200A0'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name_record(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name_record(f_decode_J1939_name_record(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_record_3() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E001D0080'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name_record(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name_record(f_decode_J1939_name_record(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_record_4() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E008100A0'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name_record(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name_record(f_decode_J1939_name_record(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_record_5() runs on MTC_CT
{
var J1939_NAME j1939_name_reverse, j1939_name
j1939_name_reverse := '3102032E00800AA1'O
j1939_name := f_reverse_j1939_name(j1939_name_reverse)
log("j1939 name reverse:-------------------------")
log(j1939_name_reverse)
log("j1939 name----------------------------------")
log(j1939_name)
log("--------------------------------------------")
log(f_decode_J1939_name_record(j1939_name))
log("--------------------------------------------")
log(f_encode_J1939_name_record(f_decode_J1939_name_record(j1939_name)))
log("--------------------------------------------")
}
testcase tc_dec_name_record_encode_1() runs on MTC_CT
{
var J1939_NAME_RECORD j1939_name_record := {
arbitraryAddresssBit := 1,
industryGroup := 2,
vehicleSystemInstance := 0,
vehicleSystem := 0,
reserved := 0,
function_ := 129,
functionInstance := 0,
ecuInstance := 0,
manufacturerCode := 368,
identityNumber := 999
}
log("j1939 name_record --------------------------")
log(j1939_name_record)
log("--------------------------------------------")
log(f_encode_J1939_name_record(j1939_name_record))
log("--------------------------------------------")
log(f_decode_J1939_name_record(f_encode_J1939_name_record(j1939_name_record)))
log("--------------------------------------------")
}
// result NAME = A00081002E0003E7
testcase tc_dec_name_record_encode_2() runs on MTC_CT
{
var J1939_NAME_RECORD j1939_name_record := {
arbitraryAddresssBit := 1,
industryGroup := 2,
vehicleSystemInstance := 0,
vehicleSystem := 0,
reserved := 0,
function_ := 128,
functionInstance := 0,
ecuInstance := 0,
manufacturerCode := 368,
identityNumber := 998
}
log("j1939 name_record --------------------------")
log(j1939_name_record)
log("--------------------------------------------")
log(f_encode_J1939_name_record(j1939_name_record))
log("--------------------------------------------")
log(f_decode_J1939_name_record(f_encode_J1939_name_record(j1939_name_record)))
log("--------------------------------------------")
}
// result NAME = A00080002E0003E6
} with { encode "RAW" }