Source code for nixnet._enums

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import enum

from nixnet import _cconsts


[docs]class Err(enum.Enum): """Error codes returned by NI-XNET.""" # An internal error occurred in the NI-XNET driver. Please contact National # Instruments and provide the information from the file # %LOCALAPPDATA%\\National Instruments\\NI-XNET\\log\\niXntErr.log. On Windows XP, # the file can be found at %USERPROFILE%\\Local Settings\\Application # Data\\National Instruments\\NI-XNET\\log\\niXntErr.log. Please note that this # location may be hidden on your computer. INTERNAL_ERROR = _cconsts.NX_ERR_INTERNAL_ERROR # Board self test failed(code 2). Solution: try reinstalling the driver or # switching the slot(s) of the board(s). If the error persists,contact # National Instruments. SELF_TEST_ERROR1 = _cconsts.NX_ERR_SELF_TEST_ERROR1 # Board self test failed(code 3). Solution: try reinstalling the driver or # switching the slot(s) of the board(s). If the error persists,contact # National Instruments. SELF_TEST_ERROR2 = _cconsts.NX_ERR_SELF_TEST_ERROR2 # Board self test failed(code 4). Solution: try reinstalling the driver or # switching the slot(s) of the board(s). If the error persists,contact # National Instruments. SELF_TEST_ERROR3 = _cconsts.NX_ERR_SELF_TEST_ERROR3 # Board self test failed(code 5). Solution: try reinstalling the driver or # switching the slot(s) of the board(s). If the error persists,contact # National Instruments. SELF_TEST_ERROR4 = _cconsts.NX_ERR_SELF_TEST_ERROR4 # Board self test failed(code 6). Solution: try reinstalling the driver or # switching the slot(s) of the board(s). If the error persists,contact # National Instruments. SELF_TEST_ERROR5 = _cconsts.NX_ERR_SELF_TEST_ERROR5 # Computer went to hibernation mode and the board lost power. Solution: # prevent the computer from going to hibernation mode in the control panel. POWER_SUSPENDED = _cconsts.NX_ERR_POWER_SUSPENDED # A write queue overflowed. Solution: wait until queue space becomes available # and retry. OUTPUT_QUEUE_OVERFLOW = _cconsts.NX_ERR_OUTPUT_QUEUE_OVERFLOW # The board's firmware did not answer a command. Solution: Stop your # application and execute a self test. Try deactivating/reactivating the # driver in the Device Manager. If the problem persists, contact National # Instruments. FIRMWARE_NO_RESPONSE = _cconsts.NX_ERR_FIRMWARE_NO_RESPONSE # The operation timed out. Solution: specify a timeout long enough to complete # the operation, or change the operation in a way that it can get completed in # less time (e.g. read less data). EVENT_TIMEOUT = _cconsts.NX_ERR_EVENT_TIMEOUT # A read queue overflowed. Solution: reduce your data rate or call Read more # frequently. INPUT_QUEUE_OVERFLOW = _cconsts.NX_ERR_INPUT_QUEUE_OVERFLOW # The Read buffer is too small to hold a single frame. Solution: provide a # buffer large enough. INPUT_QUEUE_READ_SIZE = _cconsts.NX_ERR_INPUT_QUEUE_READ_SIZE # You tried to open the same frame twice. This is not permitted. Solution: # open each frame only once. DUPLICATE_FRAME_OBJECT = _cconsts.NX_ERR_DUPLICATE_FRAME_OBJECT # You tried to open the same stream object twice. This is not permitted. # Solution: open each stream object only once. DUPLICATE_STREAM_OBJECT = _cconsts.NX_ERR_DUPLICATE_STREAM_OBJECT # Self test is not possible since the board is in use by an application. # Solution: stop all NI-XNET applications before executing a self test. SELF_TEST_NOT_POSSIBLE = _cconsts.NX_ERR_SELF_TEST_NOT_POSSIBLE # Allocation of memory failed. You do not have sufficient memory in the # LabVIEW target. Solution: add more RAM or try to use fewer resources in your # applications (arrays, XNET sessions, etc). MEMORY_FULL = _cconsts.NX_ERR_MEMORY_FULL # The maximum number of sessions was exceeded. Solution: use fewer sessions. MAX_SESSIONS = _cconsts.NX_ERR_MAX_SESSIONS # The maximum number of frames has been exceeded. Solution: Use fewer frames # in your sessions. MAX_FRAMES = _cconsts.NX_ERR_MAX_FRAMES # The maximum number of devices has been detected. Solution: use fewer # devices. MAX_DEVICES = _cconsts.NX_ERR_MAX_DEVICES # A driver support file is missing. Solution: try reinstalling the driver. If # the error persists, contact National Instruments. MISSING_FILE = _cconsts.NX_ERR_MISSING_FILE # This indicates that a NULL pointer or an empty string was passed to a # function. The user should verify that the parameters passed in make sense # for the given function. PARAMETER_NULL_OR_EMPTY = _cconsts.NX_ERR_PARAMETER_NULL_OR_EMPTY # The maximum number of schedules has been detected. Solution: Use fewer # schedules. MAX_SCHEDULES = _cconsts.NX_ERR_MAX_SCHEDULES # Board self test failed (code 17). Solution: Try reinstalling the driver or # switching the slot(s) of the board(s). If the error persists, contact # National Instruments. SELF_TEST_ERROR6 = _cconsts.NX_ERR_SELF_TEST_ERROR6 # You cannot start an NI-XNET application while a self test is in progress. # Solution: Complete the self test before starting any NI-XNET applications. SELF_TEST_IN_PROGRESS = _cconsts.NX_ERR_SELF_TEST_IN_PROGRESS # An invalid reference has been passed to a NI-XNET session function. # Solution: Only pass reference retrieved from Create Session, or from an IO # name of a session in LabVIEW project. INVALID_SESSION_HANDLE = _cconsts.NX_ERR_INVALID_SESSION_HANDLE # An invalid reference has been passed to a NI-XNET system function. Solution: # Only pass a valid system reference. INVALID_SYSTEM_HANDLE = _cconsts.NX_ERR_INVALID_SYSTEM_HANDLE # A device reference was expected for a NI-XNET session function. Solution: # Only pass a device reference. DEVICE_HANDLE_EXPECTED = _cconsts.NX_ERR_DEVICE_HANDLE_EXPECTED # An interface reference was expected for a NI-XNET session function. # Solution: Only pass an interface reference. INTF_HANDLE_EXPECTED = _cconsts.NX_ERR_INTF_HANDLE_EXPECTED # You have configured a property that conflicts with the current mode of the # session. For example, you have created a CAN output session with a frame # configured with a Timing Type = Cyclic and a Transmit Time of 0. PROPERTY_MODE_CONFLICTING = _cconsts.NX_ERR_PROPERTY_MODE_CONFLICTING # XNET Create Timing Source VI is not supported on Windows. This VI is # supported on LabVIEW Real-Time targets only. TIMING_SOURCE_NOT_SUPPORTED = _cconsts.NX_ERR_TIMING_SOURCE_NOT_SUPPORTED # You tried to create more than one LabVIEW timing source for a single # interface. Only one timing source per interface is supported. The timing # source remains until the top-level VI is idle (no longer running). Solution: # Call the XNET Create Timing Source VI only once per interface. You can use # the timing source with multiple timed structures (e.g. timed loops). MULTIPLE_TIMING_SOURCE = _cconsts.NX_ERR_MULTIPLE_TIMING_SOURCE # You invoked two or more VIs simultaneously for the same session, and those # VIs do not support overlap. For example, you attempted to invoke two Read # VIs at the same time for the same session. Solution: Wire the error cluster # from one VI to another, to enforce sequential execution for the session. OVERLAPPING_IO = _cconsts.NX_ERR_OVERLAPPING_IO # You are trying to start an interface that is missing bus power for the # transceiver. Some physical layers on NI-XNET hardware are internally # powered, but others require external power for the port to operate. This # error occurs when starting an interface on hardware that requires external # power when no power is detected. Solution: Supply proper voltage to your # transceiver. Refer to the NI-XNET Hardware Overview in the NI-XNET Hardware # and Software Manual for more information. MISSING_BUS_POWER = _cconsts.NX_ERR_MISSING_BUS_POWER # The connection with a CompactDAQ chassis was lost, and the host software and # modules are out of sync. There is no direct recovery for this problem until # the chassis is reset. Solutions: Call DAQmx Reset Device as the first VI or # function in your application, prior to creating XNET sessions. Alternately, # you could reset the CompactDAQ chassis in Measurement and Automation # Explorer (MAX). CDAQ_CONNECTION_LOST = _cconsts.NX_ERR_CDAQ_CONNECTION_LOST # The transceiver value set is invalid (for this port, e.g. LS on a HS port) # or you are trying to perform an operation that requires a different # transceiver (e.g., trying to change the state of a disconnected # transceiver). Solution: set a valid value. INVALID_TRANSCEIVER = _cconsts.NX_ERR_INVALID_TRANSCEIVER # The baud rate value set is invalid. Solution: set a valid value. INVALID_BAUD_RATE = _cconsts.NX_ERR_INVALID_BAUD_RATE # No baud rate value has been set. Solution: set a valid value. BAUD_RATE_NOT_CONFIGURED = _cconsts.NX_ERR_BAUD_RATE_NOT_CONFIGURED # The bit timing values set are invalid. Solution: set valid values. INVALID_BIT_TIMINGS = _cconsts.NX_ERR_INVALID_BIT_TIMINGS # The baud rate set does not match the transceiver's allowed range. Solution: # change either the baud rate or the transceiver. BAUD_RATE_XCVR_MISMATCH = _cconsts.NX_ERR_BAUD_RATE_XCVR_MISMATCH # The configured terminal is not known for this interface. Solution: Make sure # that that you pass in a valid value to Connect Terminals or Disconnect # Terminals. UNKNOWN_TIMING_SOURCE = _cconsts.NX_ERR_UNKNOWN_TIMING_SOURCE # The configured terminal is inappropriate for the hardware. For example, # setting a source to FrontPanel0 on XNET hardware that doesn't have # front-panel trigger inputs, or selecting PXI_Clk10 for a non-PXI device. # Solution: Pick an appropriate terminal for the hardware. UNKNOWN_SYNCHRONIZATION_SOURCE = _cconsts.NX_ERR_UNKNOWN_SYNCHRONIZATION_SOURCE # The source that you connected to the Master Timebase destination is missing. # When the start trigger is received, the interface verifies that a signal is # present on the configured source. This check has determined that this signal # is missing. Solution: Verify that your cables are configured correctly and # that your timebase source is generating an appropriate waveform. MISSING_TIMEBASE_SOURCE = _cconsts.NX_ERR_MISSING_TIMEBASE_SOURCE # The source that you connected to the Master Timebase destination is not # generating an appropriate signal. When the start trigger is received, the # interface verifies that a signal of a known frequency is present on the # configured source. This check has determined that this source is generating # a signal, but that the signal is not one of the supported frequencies for # this hardware. Solution: Verify that your source is generating a signal at a # supported frequency. UNKNOWN_TIMEBASE_FREQUENCY = _cconsts.NX_ERR_UNKNOWN_TIMEBASE_FREQUENCY # You are trying to disconnect a synchronization terminal that is not # currently connected. Solution: Only disconnect synchronization terminals # that have previously been connected. UNCONNECTED_SYNCHRONIZATION_SOURCE = _cconsts.NX_ERR_UNCONNECTED_SYNCHRONIZATION_SOURCE # You are trying to connect a synchronization terminal that is already in use. # For example, you are trying to connect a trigger line to the Master Timebase # when a different trigger line is already connected to the Master Timebase. # Solution: Only connect to synchronization terminals that are not currently # in use. CONNECTED_SYNCHRONIZATION_TERMINAL = _cconsts.NX_ERR_CONNECTED_SYNCHRONIZATION_TERMINAL # You are trying to connect an XNET terminal as a source terminal, but the # desired XNET terminal is not valid as a source terminal. Solution: Only # connect valid source terminals to the source terminal in XNET Connect # Terminals. INVALID_SYNCHRONIZATION_SOURCE = _cconsts.NX_ERR_INVALID_SYNCHRONIZATION_SOURCE # You are trying to connect an XNET terminal as a destination terminal, but # the desired XNET terminal is not valid as a destination terminal. Solution: # Only connect valid destination terminals to the destination terminal in XNET # Connect Terminals. INVALID_SYNCHRONIZATION_DESTINATION = _cconsts.NX_ERR_INVALID_SYNCHRONIZATION_DESTINATION # You are trying to connect two XNET terminals that are incompatible. # Solution: Only connect a source and destination terminals that are # compatible with each other. INVALID_SYNCHRONIZATION_COMBINATION = _cconsts.NX_ERR_INVALID_SYNCHRONIZATION_COMBINATION # The source that you connected to the Master Timebase destination has # disappeared. When the start trigger is received, the interface verifies that # a signal is present on the configured source. This check has determined that # this signal was present, but while the interface was running, the signal # disappeared, so all timebase configuration has reverted to using the onboard # (unsynchronized) oscillator. Solution: Verify that your cables are # configured correctly and that your timebase source is generating an # appropriate waveform the entire time your application is running. TIMEBASE_DISAPPEARED = _cconsts.NX_ERR_TIMEBASE_DISAPPEARED # You called Read (State : FlexRay : Cycle Macrotick), and the FlexRay # Macrotick is not connected as the master timebase of the interface. # Solution: Call Connect Terminals to connect source of FlexRay Macrotick to # destination of Master Timebase. MACROTICK_DISCONNECTED = _cconsts.NX_ERR_MACROTICK_DISCONNECTED # The database specified could not be opened. Solution: Check that the alias # and/or the file exist and that it is a valid database. CANNOT_OPEN_DATABASE_FILE = _cconsts.NX_ERR_CANNOT_OPEN_DATABASE_FILE # The cluster was not found in the database. Solution: Make sure you only # initialize a cluster in a session that is defined in the database. CLUSTER_NOT_FOUND = _cconsts.NX_ERR_CLUSTER_NOT_FOUND # The frame was not found in the database. Solution: Make sure you only # initialize frames in a session that are defined in the database. FRAME_NOT_FOUND = _cconsts.NX_ERR_FRAME_NOT_FOUND # The signal was not found in the database. Solution: Make sure you only # initialize signals in a session that are defined in the database. SIGNAL_NOT_FOUND = _cconsts.NX_ERR_SIGNAL_NOT_FOUND # A necessary property for a cluster was not found in the database. Solution: # Make sure you only initialize a cluster in a session that is completely # defined in the database. UNCONFIGURED_CLUSTER = _cconsts.NX_ERR_UNCONFIGURED_CLUSTER # A necessary property for a frame was not found in the database. Solution: # Make sure you only initialize frames in a session that are completely # defined in the database. UNCONFIGURED_FRAME = _cconsts.NX_ERR_UNCONFIGURED_FRAME # A necessary property for a signal was not found in the database. Solution: # Make sure you only initialize signals in a session that are completely # defined in the database. UNCONFIGURED_SIGNAL = _cconsts.NX_ERR_UNCONFIGURED_SIGNAL # Multiple clusters have been specified in one session, either directly # (Stream I/O), or through the signals or frames specified. Solution: Make # sure that in one session, you open only one cluster, including frames or # signals that belong to the same cluster. MULTIPLE_CLUSTERS = _cconsts.NX_ERR_MULTIPLE_CLUSTERS # You specified a database of ':subordinate:' for a session mode other than # mode of Frame Input Stream. Solution: either open a Frame Input Stream # session, or use a real or in-memory database. SUBORDINATE_NOT_ALLOWED = _cconsts.NX_ERR_SUBORDINATE_NOT_ALLOWED # The interface name given does not specify a valid and existing interface. # Solution: Use a valid and existing interface. These can be obtained using # MAX, XNET system properties, or the LabVIEW XNET Interface IO name. If you # are using CompactRIO, refer to the topic "Getting Started with CompactRIO" # in the NI-XNET Hardware and Software Help. INVALID_INTERFACE = _cconsts.NX_ERR_INVALID_INTERFACE # The operation is invalid for this interface (e.g. you tried to open a set of # FlexRay frames on a CAN interface, or tried to request a CAN property from a # FlexRay interface). Solution: run this operation on a suitable interface. INVALID_PROTOCOL = _cconsts.NX_ERR_INVALID_PROTOCOL # You tried to set the AutoStart property to FALSE for an Input session. This # is not allowed. Solution: don't set the AutoStart property (TRUE is # default). INPUT_SESSION_MUST_AUTO_START = _cconsts.NX_ERR_INPUT_SESSION_MUST_AUTO_START # The property ID you specified is not valid (or not valid for the current # session mode or form factor). INVALID_PROPERTY_ID = _cconsts.NX_ERR_INVALID_PROPERTY_ID # The contents of the property is bigger than the size specified. Use the # nxGetPropertySize function to determine the size of the buffer needed. INVALID_PROPERTY_SIZE = _cconsts.NX_ERR_INVALID_PROPERTY_SIZE # The function you called is not defined for the session mode (e.g. you called # a frame I/O function on a signal I/O session). INCORRECT_MODE = _cconsts.NX_ERR_INCORRECT_MODE # The data that you passed to the XNET Write is too small to hold all the data # specified for the session. Solution: determine the number of elements # (frames or signals) that you configured for the session, and pass that # number of elements to XNET Write. BUFFER_TOO_SMALL = _cconsts.NX_ERR_BUFFER_TOO_SMALL # For Signal Output sessions, the multiplexer signals used in the session must # be specified explicitly in the signal list. MUST_SPECIFY_MULTIPLEXERS = _cconsts.NX_ERR_MUST_SPECIFY_MULTIPLEXERS # You used an XNET Session IO name, and that session was not found in your # LabVIEW project. Solution: Within LabVIEW project, right-click the target # (RT or My Computer), and select New > NI-XNET Session. Add the VI that uses # the session under the target. If you are using the session with a built # application (.EXE), ensure that you copy the built configuration file # nixnetSession.txt such that it resides in the same folder as the executable. SESSION_NOT_FOUND = _cconsts.NX_ERR_SESSION_NOT_FOUND # You used the same XNET session name in multiple top-level VIs, which is not # supported. Solution: Use each session in only one top-level VI (application) # at a time. MULTIPLE_USE_OF_SESSION = _cconsts.NX_ERR_MULTIPLE_USE_OF_SESSION # To execute this function properly, the session's list must contain only one # frame. Solution: break your session up into multiple, each of which contains # only one frame. ONLY_ONE_FRAME = _cconsts.NX_ERR_ONLY_ONE_FRAME # You used the same alias for different database files which is not allowed. # Solution: Use each alias only for a single database file. DUPLICATE_ALIAS = _cconsts.NX_ERR_DUPLICATE_ALIAS # You try to deploy a database file while another deployment is in progress. # Solution: wait until the other deployment has finished and try again. DEPLOYMENT_IN_PROGRESS = _cconsts.NX_ERR_DEPLOYMENT_IN_PROGRESS # A signal or frame session has been opened, but it doesn't contain signals or # frames. Solution: specify at least one signal or frame. NO_FRAMES_OR_SIGNALS = _cconsts.NX_ERR_NO_FRAMES_OR_SIGNALS # An invalid value has been specified for the 'mode' parameter. Solution: # specify a valid value. INVALID_MODE = _cconsts.NX_ERR_INVALID_MODE # A session was created by references, but no database references have been # specified. Solution: specify at least one appropriate database reference # (i.e. signal or frame or cluster ref depending on the session mode). NEED_REFERENCE = _cconsts.NX_ERR_NEED_REFERENCE # The interface has already been opened with different cluster settings than # the ones specified for this session. Solution: make sure that the cluster # settings agree for the interface, or use a different interface. DIFFERENT_CLUSTER_OPEN = _cconsts.NX_ERR_DIFFERENT_CLUSTER_OPEN # The cycle repetition of a frame in the database for the FlexRay protocol is # invalid. Solution: Make sure that the cycle repetition is a power of 2 # between 1 and 64. FLEX_RAY_INVALID_CYCLE_REP = _cconsts.NX_ERR_FLEX_RAY_INVALID_CYCLE_REP # You called XNET Clear for the session, then tried to perform another # operation. Solution: Defer clear (session close) until you are done using # it. This error can also occur if you branch a wire after creating the # session. Solution: Do not branch a session to multiple flows in the diagram. SESSION_CLEARED = _cconsts.NX_ERR_SESSION_CLEARED # You called Create Session VI with a list of items that does not match the # mode. This includes using: 1) signal items for a Frame I/O mode 2) frame # items for a Signal I/O mode 3) cluster item for a mode other than Frame # Input Stream or Frame Output Stream WRONG_MODE_FOR_CREATE_SELECTION = _cconsts.NX_ERR_WRONG_MODE_FOR_CREATE_SELECTION # You tried to create a new session while the interface is already running. # Solution: Create all sessions before starting any of them. INTERFACE_RUNNING = _cconsts.NX_ERR_INTERFACE_RUNNING # You wrote a frame whose payload length is larger than the maximum payload # allowed by the database (e.g. wrote 10 bytes for CAN frame, max 8 bytes). # Solution: Never write more payload bytes than the Payload Length Maximum # property of the session. FRAME_WRITE_TOO_LARGE = _cconsts.NX_ERR_FRAME_WRITE_TOO_LARGE # You called a Read function with a nonzero timeout, and you used a negative # numberToRead. Negative value for numberToRead requests all available data # from the Read, which is ambiguous when used with a timeout. Solutions: 1) # Pass timeout of and numberToRead of -1, to request all available data. 2) # Pass timeout > 0, and numberToRead > 0, to wait for a specific number of # data elements. TIMEOUT_WITHOUT_NUM_TO_READ = _cconsts.NX_ERR_TIMEOUT_WITHOUT_NUM_TO_READ # Timestamps are not (yet) supported for Write Signal XY. Solution: Do not # provide a timestamp array for Write Signal XY. TIMESTAMPS_NOT_SUPPORTED = _cconsts.NX_ERR_TIMESTAMPS_NOT_SUPPORTED # The condition parameter passed to Wait is not known. Solution: Pass a valid # parameter. UNKNOWN_CONDITION = _cconsts.NX_ERR_UNKNOWN_CONDITION # You attempted an I/O operation, but the session is not yet started (and the # AutoStart property is set to FALSE). Solution: call Start before you use # this IO operation. SESSION_NOT_STARTED = _cconsts.NX_ERR_SESSION_NOT_STARTED # The maximum number of Wait operations has been exceeded. Solution: If you # are waiting for multiple events on the interface, use fewer Wait operations # on this interface (even for multiple sessions). If you are waiting for # multiple events for a frame (e.g. transmit complete), use only one Wait at a # time for that frame. MAX_WAITS_EXCEEDED = _cconsts.NX_ERR_MAX_WAITS_EXCEEDED # You used an invalid name for an XNET Device. Solution: Get valid XNET Device # names from the XNET System properties (only). INVALID_DEVICE = _cconsts.NX_ERR_INVALID_DEVICE # A terminal name passed to ConnectTerminals or DisconnectTerminals is # unknown. Solution: only pass valid names. INVALID_TERMINAL_NAME = _cconsts.NX_ERR_INVALID_TERMINAL_NAME # You tried to blink the port LEDs but these are currently busy. Solution: # stop all applications running on that port; do not access it from MAX or LV # Project. PORT_LEDS_BUSY = _cconsts.NX_ERR_PORT_LE_DS_BUSY # You tried to set a FlexRay keyslot ID that is not listed as valid in the # database. Solution: only pass slot IDs of frames that have the startup or # sync property set in the database. INVALID_KEYSLOT = _cconsts.NX_ERR_INVALID_KEYSLOT # You tried to set a queue size that is bigger than the maximum allowed. # Solution: Specify an in-range queue size. MAX_QUEUE_SIZE_EXCEEDED = _cconsts.NX_ERR_MAX_QUEUE_SIZE_EXCEEDED # You wrote a frame whose payload length is different than the payload length # configured by the database. Solution: Never write a different payload length # for a frame that is different than the configured payload length. FRAME_SIZE_MISMATCH = _cconsts.NX_ERR_FRAME_SIZE_MISMATCH # The index to indicate an session list element is too large. Solution: # Specify an index in the range ... NumInList-1. INDEX_TOO_BIG = _cconsts.NX_ERR_INDEX_TOO_BIG # You have tried to create a session that is invalid for the mode of the # driver/firmware. For example, you are using the Replay Exclusive mode for # Stream Output and you have an output session open. SESSION_MODE_INCOMPATIBILITY = _cconsts.NX_ERR_SESSION_MODE_INCOMPATIBILITY # You have tried to create a session using a frame that is incompatible with # the selected session type. For example, you are using a LIN diagnostic frame # with a single point output session. SESSION_TYPE_FRAME_INCOMPATIBILITY = _cconsts.NX_ERR_SESSION_TYPE_FRAME_INCOMPATIBILITY # The trigger signal for a frame is allowed only in Single Point Signal # sessions (Input or Output). For Output Single Point Signal sessions, only # one trigger signal is allowed per frame. Solution: Do not use the trigger # signal, or change to a single point I/O session. TRIGGER_SIGNAL_NOT_ALLOWED = _cconsts.NX_ERR_TRIGGER_SIGNAL_NOT_ALLOWED # To execute this function properly, the session's list must contain only one # cluster. Solution: Use only one cluster in the session. ONLY_ONE_CLUSTER = _cconsts.NX_ERR_ONLY_ONE_CLUSTER # You attempted to convert a CAN or LIN frame with a payload length greater # than 8. For example, you may be converting a frame that uses a higher layer # transport protocol, such as SAE-J1939. NI-XNET currently supports conversion # of CAN/LIN frames only (layer 2). Solutions: 1) Implement higher layer # protocols (including signal conversion) within your code. 2) Contact # National Instruments to request this feature in a future version. CONVERT_INVALID_PAYLOAD = _cconsts.NX_ERR_CONVERT_INVALID_PAYLOAD # Allocation of memory failed for the data returned from LabVIEW XNET Read. # Solutions: 1) Wire a smaller "number to read" to XNET Read (default -1 uses # queue size). 2) For Signal Input Waveform, use a smaller resample rate. 3) # Set smaller value for session's queue size property (default is large to # avoid loss of data). MEMORY_FULL_READ_DATA = _cconsts.NX_ERR_MEMORY_FULL_READ_DATA # Allocation of memory failed in the firmware. Solutions: 1) Create less # firmware objects 2) Set smaller value for output session's queue size # property (default is large to avoid loss of data). MEMORY_FULL_FIRMWARE = _cconsts.NX_ERR_MEMORY_FULL_FIRMWARE # The NI-XNET driver no longer can communicate with the device. Solution: Make # sure the device has not been removed from the computer. COMMUNICATION_LOST = _cconsts.NX_ERR_COMMUNICATION_LOST # A LIN schedule has an invalid priority. Solution: Use a valid priority (0 = # NULL schedule, 1..254 = Run once schedule, 255 = Continuous schedule). INVALID_PRIORITY = _cconsts.NX_ERR_INVALID_PRIORITY # (Dis)ConnectTerminals is not allowed for XNET C Series modules. Solution: To # connect the module start trigger, use the Session property Interface Source # Terminal Start Trigger. SYNCHRONIZATION_NOT_ALLOWED = _cconsts.NX_ERR_SYNCHRONIZATION_NOT_ALLOWED # You requested a time (like Start or Communication Time) before the event has # happened. Solution: Request the time only after it occurred. TIME_NOT_REACHED = _cconsts.NX_ERR_TIME_NOT_REACHED # An internal input queue overflowed. Solution: Attempt to pull data from the # hardware faster. If you are connected by an external bus (for example, USB # or Ethernet), you can try to use a faster connection. INTERNAL_INPUT_QUEUE_OVERFLOW = _cconsts.NX_ERR_INTERNAL_INPUT_QUEUE_OVERFLOW # A bad firmware image file can not be loaded to the hardware. Solution: # Uninstall and reinstall the NI-XNET software as the default firmware file # may be corrupt. If you are using a custom firmware file, try rebuilding it. BAD_IMAGE_FILE = _cconsts.NX_ERR_BAD_IMAGE_FILE # The encoding of embedded network data (CAN, FlexRay, LIN, etc.) within the # TDMS file is invalid. Solutions: 1) In the application that wrote (created) # the logfile, and the application in which you are reading it, confirm that # both use the same major version for frame data encoding # (NI_network_frame_version property of the TDMS channel). 2) Ensure that your # file was not corrupted. INVALID_LOGFILE = _cconsts.NX_ERR_INVALID_LOGFILE # The NI-XNET hardware no longer can communicate with the transceiver cable. # This may be due to the cable being removed, a power loss event, an over # voltage condition on the power input, or a general communication error. # Solution: Make sure the dongle is properly latched and, for some hardware, # external power is properly applied. To detect other errors, stop your # application and execute a self test. DONGLE_COMMUNICATION_LOST = _cconsts.NX_ERR_DONGLE_COMMUNICATION_LOST # A property value was out of range or incorrect. Solution: specify a correct # value. INVALID_PROPERTY_VALUE = _cconsts.NX_ERR_INVALID_PROPERTY_VALUE # Integration of the interface into the FlexRay cluster failed, so # communication did not start for the interface. Solution: check the cluster # and/or interface parameters and verify that there are startup frames # defined. FLEX_RAY_INTEGRATION_FAILED = _cconsts.NX_ERR_FLEX_RAY_INTEGRATION_FAILED # The PDU was not found in the database. Solution: Make sure you initialize # only PDUs in a session that are defined in the database. PDU_NOT_FOUND = _cconsts.NX_ERR_PDU_NOT_FOUND # A necessary property for a PDU was not found in the database. Solution: Make # sure you initialize only PDUs in a session that are completely defined in # the database. UNCONFIGURED_PDU = _cconsts.NX_ERR_UNCONFIGURED_PDU # You tried to open the same PDU twice. This is not permitted. Solution: Open # each PDU only once. DUPLICATE_PDU_OBJECT = _cconsts.NX_ERR_DUPLICATE_PDU_OBJECT # You can access this database object only by PDU, not by frame. Solution: For # CAN and LIN, this is not supported by the current version of NI-XNET; for # FlexRay, make sure the database is set to use PDUs. NEED_PDU = _cconsts.NX_ERR_NEED_PDU # Remote communication with the LabVIEW RT target failed. Solution: check if # NI-XNET has been installed on the RT target and check if the NI-XNET RPC # server has been started. RPC_COMMUNICATION = _cconsts.NX_ERR_RPC_COMMUNICATION # File transfer communication with the LabVIEW Real-Time (RT) target failed. # Solution: check if the RT target has been powered on, the RT target has been # connected to the network, and if the IP address settings are correct. FILE_TRANSFER_COMMUNICATION = _cconsts.NX_ERR_FILE_TRANSFER_COMMUNICATION # File transfer communication with the LabVIEW Real-Time (RT) target failed. # Solution: check if the RT target has been powered on, the RT target has been # connected to the network, and if the IP address settings are correct. FTP_COMMUNICATION = _cconsts.NX_ERR_FTP_COMMUNICATION # File transfer to the LabVIEW Real-Time (RT) target failed, because the # required files could not be accessed. Solution: You may have executed a VI # that opened the database, but did not close. If that is the case, you should # change the VI to call Database Close, then reboot the RT controller to # continue. FILE_TRANSFER_ACCESS = _cconsts.NX_ERR_FILE_TRANSFER_ACCESS # File transfer to the LabVIEW Real-Time (RT) target failed, because the # required files could not be accessed. Solution: You may have executed a VI # that opened the database, but did not close. If that is the case, you should # change the VI to call Database Close, then reboot the RT controller to # continue. FTP_FILE_ACCESS = _cconsts.NX_ERR_FTP_FILE_ACCESS # The database file you want to use is already assigned to another alias. # Solution: Each database file can only be assigned to a single alias. Use the # alias that is already assigned to the database instead. DATABASE_ALREADY_IN_USE = _cconsts.NX_ERR_DATABASE_ALREADY_IN_USE # An internal file used by NI-XNET could not be accessed. Solution: Make sure # that the internal NI-XNET files are not write protected and that the # directories for these files exist. INTERNAL_FILE_ACCESS = _cconsts.NX_ERR_INTERNAL_FILE_ACCESS # The file cannot be deployed because another file deployment is already # active. Solution: wait until the other file deployment has finished and try # again. FILE_TRANSFER_ACTIVE = _cconsts.NX_ERR_FILE_TRANSFER_ACTIVE # The nixnet.dll or one of its components could not be loaded. Solution: try # reinstalling NI-XNET. If the error persists,contact National Instruments. DLL_LOAD = _cconsts.NX_ERR_DLL_LOAD # You attempted to perform an action on a session or interface that is # started, and the action that requires the session/interface to be stopped. # Solution: Stop the object before performing this action. OBJECT_STARTED = _cconsts.NX_ERR_OBJECT_STARTED # You have passed a default payload to the firmware where the number of bytes # in the payload is larger than the number of bytes that this frame can # transmit. Solution: Decrease the number of bytes in your default payload. DEFAULT_PAYLOAD_NUM_BYTES = _cconsts.NX_ERR_DEFAULT_PAYLOAD_NUM_BYTES # You attempted to set a CAN arbitration ID with an invalid value. For # example, a CAN standard arbitration ID supports only 11 bits. If you attempt # to set a standard arbitration ID that uses more than 11 bits, this error is # returned. Solution: Use a valid arbitration ID. INVALID_ARBITRATION_ID = _cconsts.NX_ERR_INVALID_ARBITRATION_ID # You attempted to set a LIN ID with an invalid value. For example, a LIN ID # supports only 6 bits. If you attempt to set an ID that uses more than 6 # bits, this error is returned. Solution: Use a valid LIN ID. INVALID_LIN_ID = _cconsts.NX_ERR_INVALID_LIN_ID # Too many open files. NI-XNET allows up to 7 database files to be opened # simultaneously. Solution: Open fewer files. TOO_MANY_OPEN_FILES = _cconsts.NX_ERR_TOO_MANY_OPEN_FILES # Bad reference has been passed to a database function, e.g. a session # reference, or frame reference to retrieve properties from a signal. DATABASE_BAD_REFERENCE = _cconsts.NX_ERR_DATABASE_BAD_REFERENCE # Creating a database file failed. Solution: Verify access rights to the # destination directory or check if overwritten file has read only permission. CREATE_DATABASE_FILE = _cconsts.NX_ERR_CREATE_DATABASE_FILE # A cluster with the same name already exists in the database. Solution: Use # another name for this cluster. DUPLICATE_CLUSTER_NAME = _cconsts.NX_ERR_DUPLICATE_CLUSTER_NAME # A frame with the same name already exists in the cluster. Solution: Use # another name for this frame. DUPLICATE_FRAME_NAME = _cconsts.NX_ERR_DUPLICATE_FRAME_NAME # A signal with the same name already exists in the frame. Solution: Use # another name for this signal. DUPLICATE_SIGNAL_NAME = _cconsts.NX_ERR_DUPLICATE_SIGNAL_NAME # An ECU with the same name already exists in the cluster. Solution: Use # another name for this ECU. DUPLICATE_ECU_NAME = _cconsts.NX_ERR_DUPLICATE_ECU_NAME # A subframe with the same name already exists in the frame. Solution: Use # another name for this subframe. DUPLICATE_SUBFRAME_NAME = _cconsts.NX_ERR_DUPLICATE_SUBFRAME_NAME # The operation is improper for the protocol in use, e.g. you cannot assign # FlexRay channels to a CAN frame. IMPROPER_PROTOCOL = _cconsts.NX_ERR_IMPROPER_PROTOCOL # Wrong parent relationship for a child that you are creating with XNET # Database Create. OBJECT_RELATION = _cconsts.NX_ERR_OBJECT_RELATION # The retrieved required property is not defined on the specified object. # Solution: Make sure that your database file has this property defined or # that you set it in the objects created in memory. UNCONFIGURED_REQUIRED_PROPERTY = _cconsts.NX_ERR_UNCONFIGURED_REQUIRED_PROPERTY # The feature is not supported under LabVIEW RT, e.g.Save Database NOT_SUPPORTED_ON_RT = _cconsts.NX_ERR_NOT_SUPPORTED_ON_RT # The object name contains unsupported characters. The name must contain just # alphanumeric characters and the underscore, but cannot begin with a digit. # The maximum size is 128. NAME_SYNTAX = _cconsts.NX_ERR_NAME_SYNTAX # Unsupported database format. For reading a database, the extension must be # .xml, .dbc, .ncd, or .ldf. For saving, the extension must be .xml or .ldf FILE_EXTENSION = _cconsts.NX_ERR_FILE_EXTENSION # Database object not found, e.g. an object with given name doesn't exist. DATABASE_OBJECT_NOT_FOUND = _cconsts.NX_ERR_DATABASE_OBJECT_NOT_FOUND # Database cache file cannot be removed or replaced on the disc, e.g. it is # write-protected. REMOVE_DATABASE_CACHE_FILE = _cconsts.NX_ERR_REMOVE_DATABASE_CACHE_FILE # You are trying to write a read-only property, e.g. the mux value on a signal # is a read only property (can be changed on the subframe). READ_ONLY_PROPERTY = _cconsts.NX_ERR_READ_ONLY_PROPERTY # You are trying to change a signal to be a mux signal, but a mux is already # defined in this frame FRAME_MUX_EXISTS = _cconsts.NX_ERR_FRAME_MUX_EXISTS # You are trying to define FlexRay in-cycle-repetition slots before defining # the first slot. Define the first slot (frame ID) before defining # in-cycle-repetition slots. UNDEFINED_FIRST_SLOT = _cconsts.NX_ERR_UNDEFINED_FIRST_SLOT # You are trying to define FlexRay in-cycle-repetition channels before # defining the first channels. Define the Channel Assignment on a frame before # defining in-cycle-repetition channels. UNDEFINED_FIRST_CHANNELS = _cconsts.NX_ERR_UNDEFINED_FIRST_CHANNELS # You must define the protocol before setting this property, e.g. the frame ID # has a different meaning in a CAN or FlexRay cluster. UNDEFINED_PROTOCOL = _cconsts.NX_ERR_UNDEFINED_PROTOCOL # The database information on the real-time system has been created with an # older NI-XNET version. This version is no longer supported. To correct this # error, re-deploy your database to the real-time system. OLD_DATABASE_CACHE_FILE = _cconsts.NX_ERR_OLD_DATABASE_CACHE_FILE # Frame ConfigStatus: A signal within the frame exceeds the frame boundaries # (Payload Length). DB_CONFIG_SIG_OUT_OF_FRAME = _cconsts.NX_ERR_DB_CONFIG_SIG_OUT_OF_FRAME # Frame ConfigStatus: A signal within the frame overlaps another signal. DB_CONFIG_SIG_OVERLAPPED = _cconsts.NX_ERR_DB_CONFIG_SIG_OVERLAPPED # Frame ConfigStatus: A integer signal within the frame is defined with more # than 52 bits. Not supported. DB_CONFIG_SIG52_BIT_INTEGER = _cconsts.NX_ERR_DB_CONFIG_SIG52_BIT_INTEGER # Frame ConfigStatus: Frame is defined with wrong number of bytes Allowed # values: - CAN: 0-8, - Flexray: 0-254 and even number. DB_CONFIG_FRAME_NUM_BYTES = _cconsts.NX_ERR_DB_CONFIG_FRAME_NUM_BYTES # You are trying to add transmitted FlexRay frames to an ECU, with at least # two of them having Startup or Sync property on. Only one Sync or Startup # frame is allowed to be sent by an ECU. MULT_SYNC_STARTUP = _cconsts.NX_ERR_MULT_SYNC_STARTUP # You are trying to add TX/RX frames to an ECU which are defined in a # different cluster than the ECU. INVALID_CLUSTER = _cconsts.NX_ERR_INVALID_CLUSTER # Database name parameter is incorrect. Solution: Use a valid name for the # database, e.g. ":memory:" for in-memory database. DATABASE_NAME = _cconsts.NX_ERR_DATABASE_NAME # Database object is locked because it is used in a session. Solution: # Configure the database before using it in a session. DATABASE_OBJECT_LOCKED = _cconsts.NX_ERR_DATABASE_OBJECT_LOCKED # Alias name passed to a function is not defined. Solution: Define the alias # before calling the function. ALIAS_NOT_FOUND = _cconsts.NX_ERR_ALIAS_NOT_FOUND # Database file cannot be saved because frames are assigned to FlexRay # channels not defined in the cluster. Solution: Verify that all frames in the # FlexRay cluster are assigned to an existing cluster channel. CLUSTER_FRAME_CHANNEL_RELATION = _cconsts.NX_ERR_CLUSTER_FRAME_CHANNEL_RELATION # Frame ConfigStatus: This FlexRay frame transmitted in a dynamic segment uses # both channels A and B. This is not allowed. Solution: Use either channel A # or B. DYN_FLEX_RAY_FRAME_CHAN_AAND_B = _cconsts.NX_ERR_DYN_FLEX_RAY_FRAME_CHAN_AAND_B # Database is locked because it is being modified by an another instance of # the same application. Solution: Close the database in the other application # instance. DATABASE_LOCKED_IN_USE = _cconsts.NX_ERR_DATABASE_LOCKED_IN_USE # A frame name is ambiguous, e.g. a frame with the same name exists in another # cluster. Solution: Specify the cluster name for the frame using the required # syntax. AMBIGUOUS_FRAME_NAME = _cconsts.NX_ERR_AMBIGUOUS_FRAME_NAME # A signal name is ambiguous, e.g. a signal with the same name exists in # another frame. Solution: Use [frame].[signal] syntax for the signal. AMBIGUOUS_SIGNAL_NAME = _cconsts.NX_ERR_AMBIGUOUS_SIGNAL_NAME # An ECU name is ambiguous, e.g. an ECU with the same name exists in another # cluster. Solution: Specify the cluster name for the ECU using the required # syntax. AMBIGUOUS_ECU_NAME = _cconsts.NX_ERR_AMBIGUOUS_ECU_NAME # A subframe name is ambiguous, e.g. a subframe with the same name exists in # another cluster. Solution: Specify the cluster name for the subframe using # the required syntax. AMBIGUOUS_SUBFRAME_NAME = _cconsts.NX_ERR_AMBIGUOUS_SUBFRAME_NAME # A LIN schedule name is ambiguous, e.g. a schedule with the same name exists # in another cluster. Solution: Specify the cluster name for the schedule # using the required syntax. AMBIGUOUS_SCHEDULE_NAME = _cconsts.NX_ERR_AMBIGUOUS_SCHEDULE_NAME # A LIN schedule with the same name already exists in the database. Solution: # Use another name for this schedule. DUPLICATE_SCHEDULE_NAME = _cconsts.NX_ERR_DUPLICATE_SCHEDULE_NAME # A LIN diagnostic schedule change requires the diagnostic schedule to be # defined in the database. Solution: Define the diagnostic schedule in the # database. DIAGNOSTIC_SCHEDULE_NOT_DEFINED = _cconsts.NX_ERR_DIAGNOSTIC_SCHEDULE_NOT_DEFINED # Multiplexers (mode-dependent signals) are not supported when the given # protocol is used. Solution: Contact National Instruments to see whether # there is a newer NI-XNET version that supports multiplexers for the given # protocol. PROTOCOL_MUX_NOT_SUPPORTED = _cconsts.NX_ERR_PROTOCOL_MUX_NOT_SUPPORTED # Saving a FIBEX file containing a LIN cluster is not supported in this # NI-XNET version. Solution: Contact National Instruments to see whether there # is a newer NI-XNET version that supports saving a FIBEX file that contains a # LIN cluster. SAVE_LI_NNOT_SUPPORTED = _cconsts.NX_ERR_SAVE_LI_NNOT_SUPPORTED # This property requires an ECU configured as LIN master to be present in this # cluster. Solution: Create a LIN master ECU in this cluster. LI_NMASTER_NOT_DEFINED = _cconsts.NX_ERR_LI_NMASTER_NOT_DEFINED # You cannot mix open of NI-XNET database objects as both manual and # automatic. You open manually by calling the Database Open VI. You open # automatically when you 1) wire the IO name directly to a property node or # VI, 2) branch a wire to multiple data flows on the diagram, 3) use the IO # name with a VI or property node after closing it with the Database Close VI. # Solution: Change your diagram to use the manual technique in all locations # (always call Open and Close VIs), or to use the automatic technique in all # locations (never call Open or Close VIs). MIX_AUTO_MANUAL_OPEN = _cconsts.NX_ERR_MIX_AUTO_MANUAL_OPEN # Due to problems in LabVIEW versions 8.5 through 8.6.1, automatic open of # NI-XNET database objects is not supported. You open automatically when you # 1) wire the IO name directly to a property node or VI, 2) branch a wire to # multiple data flows on the diagram, 3) use the IO name with a VI or property # node after closing it with the Database Close VI. Solution: Change your # diagram to call the Database Open VI prior to any use (VI or property node) # in a data flow (including a new wire branch). Change your diagram to call # the Database Close VI when you are finished using the database in your # application. AUTO_OPEN_NOT_SUPPORTED = _cconsts.NX_ERR_AUTO_OPEN_NOT_SUPPORTED # You called a Write function with the number of array elements (frames or # signals) different than the number of elements configured in the session # (such as the "list" parameter of the Create Session function). Solution: # Write the same number of elements as configured in the session. WRONG_NUM_SIGNALS_WRITTEN = _cconsts.NX_ERR_WRONG_NUM_SIGNALS_WRITTEN # You used XNET session from multiple LabVIEW projects (or multiple # executables), which NI-XNET does not support. Solution: Run XNET sessions in # only one LabVIEW project at a time. MULTIPLE_LV_PROJECT = _cconsts.NX_ERR_MULTIPLE_LV_PROJECT # When an XNET session is used at runtime, all sessions in the same scope are # created on the interface. The same scope is defined as all sessions within # the same LabVIEW project which use the same cluster and interface (same # physical cable configuration). If you attempt to use a session in the same # scope after running the VI, this error occurs. The most likely cause is that # you added a new session, and tried to use that new session in a running VI. # Solution: Configure all session in LabVIEW project, then run the VI(s) that # use those sessions. SESSION_CONFLICT_LV_PROJECT = _cconsts.NX_ERR_SESSION_CONFLICT_LV_PROJECT # You used an empty name for an XNET database object (database, cluster, ECU, # frame, or signal). Empty name is not supported. Solution: Refer to NI-XNET # help for IO names to review the required syntax for the name, and change # your code to use that syntax. DB_OBJECT_NAME_EMPTY = _cconsts.NX_ERR_DB_OBJECT_NAME_EMPTY # You used a name for an XNET database object (such as frame or signal) that # did not include a valid cluster selection. Solution: Refer to the NI-XNET # help for the IO name that you are using, and use the syntax specified for # that class, which includes the cluster selection. MISSING_ALIAS_IN_DB_OBJECT_NAME = _cconsts.NX_ERR_MISSING_ALIAS_IN_DB_OBJECT_NAME # Unsupported FIBEX file version. Solution: Use only FIBEX versions that are # supported by this version of NI-XNET. Please see the NI-XNET documentation # for information on which FIBEX versions are currently supported. FIBEX_IMPORT_VERSION = _cconsts.NX_ERR_FIBEX_IMPORT_VERSION # You used an empty name for the XNET Session. Empty name is not supported. # Solution: Use a valid XNET session name from your LabVIEW project. EMPTY_SESSION_NAME = _cconsts.NX_ERR_EMPTY_SESSION_NAME # There is not enough message RAM on the FlexRay hardware to configure the # data partition for the object(s). Solution: Please refer to the manual for # limitations on the number of objects that can be created at any given time # based on the payload length. NOT_ENOUGH_MESSAGE_RAM_FOR_OBJECT = _cconsts.NX_ERR_NOT_ENOUGH_MESSAGE_RAM_FOR_OBJECT # The FlexRay keyslot ID has been configured and a startup session has been # created. Either the keyslot ID needs to be configured OR the startup session # needs to be created. Both cannot exist at the same time. Solution: Choose a # single method to configure startup sessions in your application. KEY_SLOT_ID_CONFIG = _cconsts.NX_ERR_KEY_SLOT_ID_CONFIG # An unsupported session was created. For example, stream output is not # supported on FlexRay hardware. Solution: Only use supported sessions in your # application. UNSUPPORTED_SESSION = _cconsts.NX_ERR_UNSUPPORTED_SESSION # An XNET session was created after starting the Interface. Only the Stream # Input session in the subordinate mode can be created after the Interface has # started. Solution: Create sessions prior to starting the XNET Interface in # your application. OBJECT_CREATED_AFTER_START = _cconsts.NX_ERR_OBJECT_CREATED_AFTER_START # The Single Slot property was enabled on the XNET FlexRay Interface after the # interface had started. Solution: Enable the Single Slot property prior to # starting the XNET FlexRay Interface. SINGLE_SLOT_ENABLED_AFTER_START = _cconsts.NX_ERR_SINGLE_SLOT_ENABLED_AFTER_START # The FlexRay macrotick offset specified for XNET Create Timing Source is # unsupported. Example: Specifying a macrotick offset greater than # MacroPerCycle will result in this error. Solution: Specify a macrotick # offset within the supported range for the cluster. UNSUPPORTED_NUM_MACROTICKS = _cconsts.NX_ERR_UNSUPPORTED_NUM_MACROTICKS # You used invalid syntax in the name of a database object (signal, frame, or # ECU). For example, you may have specified a frame's name as # [cluster].[frame], which is allowed in NI-XNET for C/C++, but not NI-XNET # for LabVIEW. Solution: Use the string syntax specified in the help topic for # the XNET I/O name class you are using. BAD_SYNTAX_IN_DATABASE_OBJECT_NAME = _cconsts.NX_ERR_BAD_SYNTAX_IN_DATABASE_OBJECT_NAME # A LIN schedule entry name is ambiguous, e.g. a schedule entry with the same # name exists in another schedule. Solution: Specify the schedule name for the # schedule entry using the required syntax. AMBIGUOUS_SCHEDULE_ENTRY_NAME = _cconsts.NX_ERR_AMBIGUOUS_SCHEDULE_ENTRY_NAME # A LIN schedule entry with the same name already exists in the schedule. # Solution: Use another name for this schedule entry. DUPLICATE_SCHEDULE_ENTRY_NAME = _cconsts.NX_ERR_DUPLICATE_SCHEDULE_ENTRY_NAME # At least one of the frames in the session has an undefined identifier. # Solution: Set the frame's "Identifier (Slot)" property before creating the # session. UNDEFINED_FRAME_ID = _cconsts.NX_ERR_UNDEFINED_FRAME_ID # At least one of the frames in the session has an undefined payload length. # Solution: Set the frame's "Payload Length (in bytes)" property before # creating the session. UNDEFINED_FRAME_PAYLOAD_LENGTH = _cconsts.NX_ERR_UNDEFINED_FRAME_PAYLOAD_LENGTH # At least one of the signals in the session has an undefined start bit. # Solution: Set the "Start Bit" property of the signal before creating the # session. UNDEFINED_SIGNAL_START_BIT = _cconsts.NX_ERR_UNDEFINED_SIGNAL_START_BIT # At least one of the signals in the session has an undefined number of bits. # Solution: Set the "Number of Bits" property of the signal before creating # the session. UNDEFINED_SIGNAL_NUM_BITS = _cconsts.NX_ERR_UNDEFINED_SIGNAL_NUM_BITS # At least one of the signals in the session has an undefined byte order. # Solution: Set the "Byte Order" property of the signal before creating the # session. UNDEFINED_SIGNAL_BYTE_ORDER = _cconsts.NX_ERR_UNDEFINED_SIGNAL_BYTE_ORDER # At least one of the signals in the session has an undefined data type. # Solution: Set the "Data Type" property of the signal before creating the # session. UNDEFINED_SIGNAL_DATA_TYPE = _cconsts.NX_ERR_UNDEFINED_SIGNAL_DATA_TYPE # At least one of the subframes in the session has an undefined multiplexer # value. Solution: Set the "Multiplexer Value" property of the subframe before # creating the session. UNDEFINED_SUBF_MUX_VALUE = _cconsts.NX_ERR_UNDEFINED_SUBF_MUX_VALUE # You provided an invalid index to Write (State LIN Schedule Change). # Solution: Use a number from to N-1, where N is the number of LIN schedules # returned from the cluster property LIN Schedules. If you are using LabVIEW, # the string for the number must be decimal (not hexadecimal). INVALID_LIN_SCHED_INDEX = _cconsts.NX_ERR_INVALID_LIN_SCHED_INDEX # You provided an invalid name to Write (State LIN Schedule Change). Solution: # Use a valid LIN schedule name returned from the cluster property LIN # Schedules, or the session property Interface LIN Schedules. You can use the # short name (schedule only) or long name (schedule plus database and # cluster). INVALID_LIN_SCHED_NAME = _cconsts.NX_ERR_INVALID_LIN_SCHED_NAME # You provided an invalid active index for the session property. INVALID_ACTIVE_FRAME_INDEX = _cconsts.NX_ERR_INVALID_ACTIVE_FRAME_INDEX # You provided an invalid name for Frame:Active of the session property node. # Solution: Use a valid item name from the session's List property. You can # use the short name (frame or signal only) or long name (frame/signal plus # database and cluster). INVALID_ACTIVE_FRAME_NAME = _cconsts.NX_ERR_INVALID_ACTIVE_FRAME_NAME # The database you are using requires using PDUs, and the operation is # ambiguous with respect to PDUs. Example: You are trying to get the frame # parent of the signal, but the PDU in which the signal is contained is # referenced in multiple frames. AMBIGUOUS_PDU = _cconsts.NX_ERR_AMBIGUOUS_PDU # A PDU with the same name already exists in the cluster. Solution: Use # another name for this PDU. DUPLICATE_PDU = _cconsts.NX_ERR_DUPLICATE_PDU # You are trying to assign start bits or update bits to PDUs referenced in a # frame, but the number of elements in this array is different than the number # of referenced PDUs. Solution: Use the same number of elements in the array # as in the PDU references array. NUMBER_OF_PD_US = _cconsts.NX_ERR_NUMBER_OF_PD_US # The configuration of this object requires using advanced PDUs, which the # given protocol does not support. Solution: You cannot use this object in the # given protocol. PD_US_REQUIRED = _cconsts.NX_ERR_PD_US_REQUIRED # The maximum number of PDUs has been exceeded. Solution: Use fewer PDUs in # your sessions. MAX_PD_US = _cconsts.NX_ERR_MAX_PD_US # This mode value is not currently supported. Solution: Use a valid value. UNSUPPORTED_MODE = _cconsts.NX_ERR_UNSUPPORTED_MODE # The firmware image on your XNET hardware is corrupted. Solution: Update the # firmware of this XNET hardware in MAX. BAD_FPGA_SIGNATURE = _cconsts.NX_ERR_BAD_FPGA_SIGNATURE BADC_SERIES_FPGA_SIGNATURE = _cconsts.NX_ERR_BADC_SERIES_FPGA_SIGNATURE # The firmware version of your XNET hardware is not in sync with your host # computer. Solution: Update the firmware of this XNET hardware in MAX. BAD_FPGA_REVISION = _cconsts.NX_ERR_BAD_FPGA_REVISION BADC_SERIES_FPGA_REVISION = _cconsts.NX_ERR_BADC_SERIES_FPGA_REVISION # The firmware version of your XNET C Series module is not in sync with the # NI-XNET software on your remote target. Solution: Update the NI-XNET # software on the remote target. BAD_FPGA_REVISION_ON_TARGET = _cconsts.NX_ERR_BAD_FPGA_REVISION_ON_TARGET # The terminal you are trying to use is already in use. Only one connection # per terminal is allowed. Solution: disconnect the terminal that is already # in use. ROUTE_IN_USE = _cconsts.NX_ERR_ROUTE_IN_USE # You need to install a supported version of NI-DAQmx for your XNET C Series # module to work correctly with your Compact DAQ system. Solution: Check the # NI-XNET readme file for supported versions of the NI-DAQmx driver software. DA_QMX_INCORRECT_VERSION = _cconsts.NX_ERR_DA_QMX_INCORRECT_VERSION # Unable to create the requested route. This may be caused by a routing # conflict or an invalid terminal name. Solution: Fix invalid terminal names, # such as a blank string. Since NI-XNET relies on the NI-DAQmx driver software # to create routes on Compact DAQ chassis, use DAQmx to resolve routing # conflicts. ADD_ROUTE = _cconsts.NX_ERR_ADD_ROUTE # You attempted to transmit a go to sleep frame (by setting the LIN Sleep mode # to Remote Sleep) on a LIN interface configured as slave. In conformance with # the LIN protocol standard, only an interface configured as master may # transmit a go to sleep frame. REMOTE_SLEEP_ON_LIN_SLAVE = _cconsts.NX_ERR_REMOTE_SLEEP_ON_LIN_SLAVE # You attempted to set properties related to Sleep and Wakeup when the FlexRay # cluster defined in the Fibex file does not support it. Solution: Edit the # Fibex file used in your application to include all relevant cluster wakeup # attributes. SLEEP_WAKEUP_NOT_SUPPORTED = _cconsts.NX_ERR_SLEEP_WAKEUP_NOT_SUPPORTED # The data payload written for a diagnostic frame for transmit does not # conform to the LIN transport layer specification. Solution: Ensure the data # payload for a diagnostic frame conforms to the transport layer # specification. LIN_TRANSPORT_LAYER = _cconsts.NX_ERR_LIN_TRANSPORT_LAYER # An error occurred within the NI-XNET example code for logfile access (TDMS). # Solution: For LabVIEW, the subVI with the error is shown as the source, and # you can open that subVI to determine the cause of the problem. For other # programming languages, review the source code for the logfile example to # determine the cause of the problem. LOGFILE = _cconsts.NX_ERR_LOGFILE # You attempted to write a LIN schedule and use a stream output replay timing # mode concurrently. You can only use the stream output immediate timing mode # cuncurrently with the LIN scheduler. STRM_OUT_TMG_LIN_SCHEDULER_CONFLICT = _cconsts.NX_ERR_STRM_OUT_TMG_LIN_SCHEDULER_CONFLICT # You attempted to create a session that is incompatible with the LIN # interface personality (master or slave), or set the LIN interface # personality to one that is incompatible with a session already created for # it. For example, setting the LIN interface to slave after creating a stream # output session will report this error, because only LIN interface as master # supports stream output. SESSN_TYPE_LIN_INTF_PRS_INCOMPATIBLE = _cconsts.NX_ERR_SESSN_TYPE_LIN_INTF_PRS_INCOMPATIBLE # You attempted to save an LDF or DBC database, but the passed reference is # not a database cluster. Solution: A cluster reference must be used to # specify the cluster you want to export. SAVE_CLUSTER_ONLY = _cconsts.NX_ERR_SAVE_CLUSTER_ONLY # Need to define for compatibility with older versions SAVE_LDF_CLUSTER_ONLY = _cconsts.NX_ERR_SAVE_LDF_CLUSTER_ONLY # You tried to assign the same interface name twice. This is not permitted. # Solution: Assign a unique name to an interface. DUPLICATE_INTERFACE_NAME = _cconsts.NX_ERR_DUPLICATE_INTERFACE_NAME # Transceiver cable hardware revision is too new. The current driver does not # support this transceiver cable. Solution: Upgrade the NI-XNET driver. INCOMPATIABLE_TRANSCEIVER_REVISION = _cconsts.NX_ERR_INCOMPATIABLE_TRANSCEIVER_REVISION # Transceiver cable image revision is too new. The current driver does not # support this transceiver cable. Solution: Upgrade the NI-XNET driver or # downgrade the image on the transceiver cable. INCOMPATIABLE_TRANSCEIVER_IMAGE = _cconsts.NX_ERR_INCOMPATIABLE_TRANSCEIVER_IMAGE # The property does not apply to this type of hardware. Solution: Do not apply # the property to this type of hardware. PROPERTY_NOTSUPPORTED = _cconsts.NX_ERR_PROPERTY_NOTSUPPORTED # Exporting cluster into the specified database type failed. Solution: Ensure # the database configuration is complete. Refer to the standard documentation # for the related file format. SEMANTIC = _cconsts.NX_ERR_EXPORT_SEMANTIC # A J1939 input queue overflowed. Reading large J1939 frames can make the # queue overflow, and the Read function delivers fewer frames then specified. # Solution: Call the Read function again to read the remaining frames. J1939_QUEUE_OVERFLOW = _cconsts.NX_ERR_J1939_QUEUE_OVERFLOW # You are trying to transmit a non-J1939 frame with more than 8 bytes. Only # J1939 frames can use the J1939 transport protocol. Solution: Verify the # transport protocol property on the frame in the database. NON_J1939_FRAME_SIZE = _cconsts.NX_ERR_NON_J1939_FRAME_SIZE # You are trying to transmit a J1939 frame, but no J1939 address is assigned # to the session. Solution: Set the address using the J1939 address property. J1939_MISSING_ADDRESS = _cconsts.NX_ERR_J1939_MISSING_ADDRESS # The received J1939 TP.CM_CTS message has the wrong total size. J1939_ADDRESS_LOST = _cconsts.NX_ERR_J1939_ADDRESS_LOST # The next packet value of the received J1939 TP.CM_CTS message is larger than # the total number of packets. J1939_CTS_NEXT_PCK_LARGER_TOTAL_PCK_NUM = _cconsts.NX_ERR_J1939_CTS_NEXT_PCK_LARGER_TOTAL_PCK_NUM # The received J1939 TP.CM_CTS message has a number of packets of 0, but the # next packet number is not 255. J1939_CTS_NEXT_PCK = _cconsts.NX_ERR_J1939_CTS_NEXT_PCK # The received J1939 TP.CM_CTS message has not does not have the same PGN as # in the TP.CM_RTS message. J1939_CTS_NEXT_PCK_NULL = _cconsts.NX_ERR_J1939_CTS_NEXT_PCK_NULL # The received J1939 TP.CM_CTS message does not have the same PGN as in the # TP.CM_RTS message. J1939_CTS_PGN = _cconsts.NX_ERR_J1939_CTS_PGN # Received unexpected sequence number in the J1939 TP.DT message. J1939_UNEXPECTED_SEQ_NUM = _cconsts.NX_ERR_J1939_UNEXPECTED_SEQ_NUM # More Packets are requested than allowed in the J1939 TP.CM_CTS message. J1939_MORE_PCK_REQ_THAN_ALLOWED = _cconsts.NX_ERR_J1939_MORE_PCK_REQ_THAN_ALLOWED # J1939 Timeout T1 while waiting for data. J1939_TIMEOUT_T1 = _cconsts.NX_ERR_J1939_TIMEOUT_T1 # J1939 Timeout T2 while waiting for data. J1939_TIMEOUT_T2 = _cconsts.NX_ERR_J1939_TIMEOUT_T2 # J1939 Timeout T3 while waiting for TP.CM_CTS or TP.CM_EndOfMsgAck. J1939_TIMEOUT_T3 = _cconsts.NX_ERR_J1939_TIMEOUT_T3 # J1939 Timeout T4 while waiting for next CTS MSG. J1939_TIMEOUT_T4 = _cconsts.NX_ERR_J1939_TIMEOUT_T4 # Received wrong DLC in the J1939 TP.CM_RTS message. DLC must be 8. J1939_RTS_DLC = _cconsts.NX_ERR_J1939_RTS_DLC # Received wrong DLC in the J1939 TP.CM_CTS message. DLC must be 8. J1939_CTS_DLC = _cconsts.NX_ERR_J1939_CTS_DLC # Received wrong DLC in the J1939 TP.CM_BAM message. DLC must be 8. J1939_BAM_DLC = _cconsts.NX_ERR_J1939_BAM_DLC # Received wrong DLC in the J1939 TP.DT message. DLC must be 8. J1939_DT_DLC = _cconsts.NX_ERR_J1939_DT_DLC # Received wrong DLC in the J1939 TP.CM_Abort message. DLC must be 8. J1939_ABORT_DLC = _cconsts.NX_ERR_J1939_ABORT_DLC # Received wrong DLC in the J1939 TP.CM_EndOfMsgAck message. DLC must be 8. J1939_EOMA_DLC = _cconsts.NX_ERR_J1939_EOMA_DLC # Received wrong PGN in the J1939 TP.CM_Abort message. J1939_ABORT_PGN = _cconsts.NX_ERR_J1939_ABORT_PGN # Internal error occurred for send TP.CM_CTS Hold Message. J1939_CTS_HOLD_MSG = _cconsts.NX_ERR_J1939_CTS_HOLD_MSG # Invalid total message size in J1939 TP.CM_RTS message. Expect 9..1785. J1939_INVALID_TOTAL_SIZE = _cconsts.NX_ERR_J1939_INVALID_TOTAL_SIZE # Total number of packets in received J1939 TP.CM_RTS message must be greater # than 1. J1939_TOTAL_PCK_NUM = _cconsts.NX_ERR_J1939_TOTAL_PCK_NUM # Reserved data bytes in J1939 received message are not BFF63FF. J1939_RESERVED_DATA = _cconsts.NX_ERR_J1939_RESERVED_DATA # Not enough system resources for the J1939 Transport Protocol. J1939_NOT_ENOUGH_SYS_RES = _cconsts.NX_ERR_J1939_NOT_ENOUGH_SYS_RES # Received J1939 TP.CM_Abort message with reason ActiveConnection: Already in # one or more connection managed sessions and cannot support another. J1939_ABORT_MSG_ACTIVE_CONNECTION = _cconsts.NX_ERR_J1939_ABORT_MSG_ACTIVE_CONNECTION # Received J1939 TP.CM_Abort message with reason NotEnoughSystemResources: # System resources were needed for another task, so this connection managed # session was terminated. J1939_ABORT_MSG_NOT_ENOUGH_SYS_RES = _cconsts.NX_ERR_J1939_ABORT_MSG_NOT_ENOUGH_SYS_RES # Received J1939 TP.CM_Abort message with reason Timeout: A timeout occurred, # and this is the connection abort to close the session. J1939_ABORT_MSG_TIMEOUT = _cconsts.NX_ERR_J1939_ABORT_MSG_TIMEOUT # Received J1939 TP.CM_Abort message with reason CtsReceived: CTS messages # received when data transfer is in progress. J1939_ABORT_MSG_CTS_REC = _cconsts.NX_ERR_J1939_ABORT_MSG_CTS_REC # Received J1939 TP.CM_Abort message with reason MaxRetransmit: Maximum # retransmit request limit reached. J1939_ABORT_MSG_MAX_RETRANSMIT = _cconsts.NX_ERR_J1939_ABORT_MSG_MAX_RETRANSMIT # Remote communication with the LabVIEW RT target failed because the host and # target versions of NI-XNET are different. Solution: On the target, install # the same NI-XNET version that is installed on the host. RPC_VERSION = _cconsts.NX_ERR_RPC_VERSION # The CAN frame I/O mode is higher than the CAN cluster I/O mode. This frame # cannot be transmitted on the network. Solution: Change the frame or cluster # I/O mode. FRAME_CAN_IO_MODE = _cconsts.NX_ERR_FRAME_CAN_IO_MODE # The current driver cannot update the firmware on your hardware. Solution: # Ask National Instruments for compatible driver software. INCOMPATIBLE_FLASH = _cconsts.NX_ERR_INCOMPATIBLE_FLASH # You are trying to use the CAN Transmit I/O Mode (TxIoMode) property in an # unsupported interface mode. Solution: You can use this property in only # non-ISO or ISO Legacy mode. TX_IO_MODE = _cconsts.NX_ERR_TX_IO_MODE # You are trying to use the XS Transceiver Cable on unsupported hardware. This # currently requires a PXIe-8510 board. XS_DONGLE_UNSUPPORTED_BOARD = _cconsts.NX_ERR_XS_DONGLE_UNSUPPORTED_BOARD # You are trying to use a database alias name that contains an invalid # character (for example, a comma). INVALID_CHAR_IN_DATABASE_ALIAS = _cconsts.NX_ERR_INVALID_CHAR_IN_DATABASE_ALIAS # You are trying to use a database filepath that contains an invalid character # (for example, a comma). INVALID_CHAR_IN_DATABASE_FILEPATH = _cconsts.NX_ERR_INVALID_CHAR_IN_DATABASE_FILEPATH # You are trying to use CAN FD with a non-HS/FD port. CAN FD is supported with # High Speed CAN only. INVALID_CAN_FD_PORT_TYPE = _cconsts.NX_ERR_INVALID_CAN_FD_PORT_TYPE # An unconditional LIN schedule entry is wrongly configured. # Solution: Reference exactly one frame in the entry. INV_UNCONDITIONAL_ENTRY = _cconsts.NX_ERR_INV_UNCONDITIONAL_ENTRY # An event LIN schedule entry has no collision resolving schedule assigned. # Solution: Assign a schedule to the schedule entry. EVENT_ENTRY_NO_SCHEDULE = _cconsts.NX_ERR_EVENT_ENTRY_NO_SCHEDULE # You have connected your USB device to a port that only supports Full Speed # (USB 1.1). NI-XNET USB devices require at least High Speed (USB 2.0+) # support for correct operation. UNSUPPORTED_USB_SPEED = _cconsts.NX_ERR_UNSUPPORTED_USB_SPEED
[docs]class Warn(enum.Enum): """Warning codes returned by NI-XNET.""" # The CAN FD baud rate you supplied exceeds the capabilities the transceiver # manufacturer specified. In our internal testing, we have found this baud # rate to run, but bus errors may be detected or generated during # communication. Refer to the NI-XNET CAN Hardware Overview section in the # NI-XNET Hardware and Software Manual for more information. FD_BAUD_EXCEEDS_CAPABILITY = _cconsts.NX_WARN_FD_BAUD_EXCEEDS_CAPABILITY # There is a warning from importing the database file. For details, refer to # the import log file nixnetfx-log.txt or nixnetldf-log.txt under # %LOCALAPPDATA%\\National Instruments\\NI-XNET\\log. On Windows XP, the files # can be found under %USERPROFILE%\\Local Settings\\Application Data\\National # Instruments\\NI-XNET\\log. Please note that this location may be hidden on # your computer. DATABASE_IMPORT = _cconsts.NX_WARN_DATABASE_IMPORT # The database file has been imported, but it was not created by the XNET # Editor or using the XNET API. Saving the database file with the XNET API or # XNET Editor may lose information from the original file. DATABASE_IMPORT_FIBEX_NO_XNET_FILE = _cconsts.NX_WARN_DATABASE_IMPORT_FIBEX_NO_XNET_FILE # The database file was not created by the XNET Editor or using the XNET API. # Additionally, there is another warning. For details, refer to the import log # file nixnetfx-log.txt under %LOCALAPPDATA%\\National Instruments\\NI-XNET\\log. # On Windows XP, the file can be found under %USERPROFILE%\\Local # Settings\\Application Data\\National Instruments\\NI-XNET\\log. Please note that # this location may be hidden on your computer. DATABASE_IMPORT_FIBEX_NO_XNET_FILE_PLUS_WARNING = _cconsts.NX_WARN_DATABASE_IMPORT_FIBEX_NO_XNET_FILE_PLUS_WARNING # Close Database returns a warning instead of an error when an invalid # reference is passed to the function. DATABASE_BAD_REFERENCE = _cconsts.NX_WARN_DATABASE_BAD_REFERENCE # Your are retrieving signals from a frame that uses advanced PDU # configuration. The signal start bit is given relative to the PDU, and it may # be different than the start bit relative to the frame. ADVANCED_PDU = _cconsts.NX_WARN_ADVANCED_PDU # The multiplexer size exceeds 16 bit. This is not supported for Single Point # sessions. MUX_EXCEEDS16_BIT = _cconsts.NX_WARN_MUX_EXCEEDS16_BIT
[docs]class ObjectClass(enum.Enum): DATABASE = _cconsts.NX_CLASS_DATABASE CLUSTER = _cconsts.NX_CLASS_CLUSTER FRAME = _cconsts.NX_CLASS_FRAME SIGNAL = _cconsts.NX_CLASS_SIGNAL SUBFRAME = _cconsts.NX_CLASS_SUBFRAME ECU = _cconsts.NX_CLASS_ECU LIN_SCHED = _cconsts.NX_CLASS_LIN_SCHED LIN_SCHED_ENTRY = _cconsts.NX_CLASS_LIN_SCHED_ENTRY PDU = _cconsts.NX_CLASS_PDU SESSION = _cconsts.NX_CLASS_SESSION SYSTEM = _cconsts.NX_CLASS_SYSTEM DEVICE = _cconsts.NX_CLASS_DEVICE INTERFACE = _cconsts.NX_CLASS_INTERFACE ALIAS = _cconsts.NX_CLASS_ALIAS
[docs]class CreateSessionMode(enum.Enum): """Create Session Mode. The session mode specifies the data type (signals or frames), direction (input or output), and how data is transferred between your application and the network. Values: SIGNAL_IN_SINGLE_POINT: Reads the most recent value received for each signal. This mode typically is used for control or simulation applications, such as Hardware In the Loop (HIL). SIGNAL_IN_WAVEFORM: Using the time when the signal frame is received, resamples the signal data to a waveform with a fixed sample rate. This mode typically is used for synchronizing XNET data with DAQmx analog/digital input channels. SIGNAL_IN_XY: For each frame received, provides its signals as a value/timestamp pair. This is the recommended mode for reading a sequence of all signal values. SIGNAL_OUT_SINGLE_POINT: Writes signal values for the next frame transmit. This mode typically is used for control or simulation applications, such as Hardware In the Loop (HIL). SIGNAL_OUT_WAVEFORM: Using the time when the signal frame is transmitted according to the database, resamples the signal data from a waveform with a fixed sample rate. This mode typically is used for synchronizing XNET data with DAQmx analog/digital output channels. SIGNAL_OUT_XY: Provides a sequence of signal values for transmit using each frame's timing as the database specifies. This is the recommended mode for writing a sequence of all signal values. FRAME_IN_STREAM: Reads all frames received from the network using a single stream. This mode typically is used for analyzing and/or logging all frame traffic in the network. FRAME_IN_QUEUED: Reads data from a dedicated queue per frame. This mode enables your application to read a sequence of data specific to a frame (for example, CAN identifier). FRAME_IN_SINGLE_POINT: Reads the most recent value received for each frame. This mode typically is used for control or simulation applications that require lower level access to frames (not signals). FRAME_OUT_STREAM: Transmits an arbitrary sequence of frame values using a single stream. The values are not limited to a single frame in the database, but can transmit any frame. FRAME_OUT_QUEUED: Provides a sequence of values for a single frame, for transmit using that frame's timing as the database specifies. FRAME_OUT_SINGLE_POINT: Writes frame values for the next transmit. This mode typically is used for control or simulation applications that require lower level access to frames (not signals). SIGNAL_CONVERSION_SINGLE_POINT: This mode does not use any hardware. It is used to convert data between the signal representation and frame representation. """ SIGNAL_IN_SINGLE_POINT = _cconsts.NX_MODE_SIGNAL_IN_SINGLE_POINT SIGNAL_IN_WAVEFORM = _cconsts.NX_MODE_SIGNAL_IN_WAVEFORM SIGNAL_IN_XY = _cconsts.NX_MODE_SIGNAL_IN_XY SIGNAL_OUT_SINGLE_POINT = _cconsts.NX_MODE_SIGNAL_OUT_SINGLE_POINT SIGNAL_OUT_WAVEFORM = _cconsts.NX_MODE_SIGNAL_OUT_WAVEFORM SIGNAL_OUT_XY = _cconsts.NX_MODE_SIGNAL_OUT_XY FRAME_IN_STREAM = _cconsts.NX_MODE_FRAME_IN_STREAM FRAME_IN_QUEUED = _cconsts.NX_MODE_FRAME_IN_QUEUED FRAME_IN_SINGLE_POINT = _cconsts.NX_MODE_FRAME_IN_SINGLE_POINT FRAME_OUT_STREAM = _cconsts.NX_MODE_FRAME_OUT_STREAM FRAME_OUT_QUEUED = _cconsts.NX_MODE_FRAME_OUT_QUEUED FRAME_OUT_SINGLE_POINT = _cconsts.NX_MODE_FRAME_OUT_SINGLE_POINT SIGNAL_CONVERSION_SINGLE_POINT = _cconsts.NX_MODE_SIGNAL_CONVERSION_SINGLE_POINT
[docs]class StartStopScope(enum.Enum): """Start/Stop Scope enum. Values: NORMAL: The session is started followed by starting the interface. This is equivalent to calling :any:`nixnet._session.base.SessionBase.start` with the Session Only Scope followed by calling :any:`nixnet._session.base.SessionBase.start` with the Interface Only Scope. SESSION_ONLY: The session is placed into the Started state (refer to State Models). If the interface is in the Stopped state before this function runs, the interface remains in the Stopped state, and no communication occurs with the bus. To have multiple sessions start at exactly the same time, start each session with the Session Only Scope. When you are ready for all sessions to start communicating on the associated interface, call :any:`nixnet._session.base.SessionBase.start` with the Interface Only scope. Starting a previously started session is considered a no-op. This operation sends the command to start the session, but does not wait for the session to be started. It is ideal for a real-time application where performance is critical. INTERFACE_ONLY: If the underlying interface is not previously started, the interface is placed into the Started state (refer to State Models). After the interface starts communicating, all previously started sessions can transfer data to and from the bus. Starting a previously started interface is considered a no-op. SESSION_ONLY_BLOCKING: The session is placed in the Started state (refer to State Models). If the interface is in the Stopped state before this function runs, the interface remains in the Stopped state, and no communication occurs with the bus. To have multiple sessions start at exactly the same time, start each session with the Session Only Scope. When you are ready for all sessions to start communicating on the associated interface, call nxStart with the Interface Only Scope. Starting a previously started session is considered a no-op. This operation waits for the session to start before completing. """ NORMAL = _cconsts.NX_START_STOP_NORMAL SESSION_ONLY = _cconsts.NX_START_STOP_SESSION_ONLY INTERFACE_ONLY = _cconsts.NX_START_STOP_INTERFACE_ONLY SESSION_ONLY_BLOCKING = _cconsts.NX_START_STOP_SESSION_ONLY_BLOCKING
[docs]class BlinkMode(enum.Enum): '''Interface blink mode. Values: DISABLE: Disable blinking for identification. This option turns off both LEDs for the port. ENABLE: Enable blinking for identification. Both LEDs of the interface's physical port turn on and off. The hardware blinks the LEDs automatically until you disable. ''' DISABLE = _cconsts.NX_BLINK_DISABLE ENABLE = _cconsts.NX_BLINK_ENABLE
[docs]class ReadState(enum.Enum): TIME_CURRENT = _cconsts.NX_STATE_TIME_CURRENT TIME_COMMUNICATING = _cconsts.NX_STATE_TIME_COMMUNICATING TIME_START = _cconsts.NX_STATE_TIME_START SESSION_INFO = _cconsts.NX_STATE_SESSION_INFO CAN_COMM = _cconsts.NX_STATE_CAN_COMM FLEX_RAY_COMM = _cconsts.NX_STATE_FLEX_RAY_COMM FLEX_RAY_STATS = _cconsts.NX_STATE_FLEX_RAY_STATS LIN_COMM = _cconsts.NX_STATE_LIN_COMM J1939_COMM = _cconsts.NX_STATE_J1939_COMM
[docs]class WriteState(enum.Enum): LIN_SCHEDULE_CHANGE = _cconsts.NX_STATE_LIN_SCHEDULE_CHANGE LIN_DIAGNOSTIC_SCHEDULE_CHANGE = _cconsts.NX_STATE_LIN_DIAGNOSTIC_SCHEDULE_CHANGE FLEX_RAY_SYMBOL = _cconsts.NX_STATE_FLEX_RAY_SYMBOL
[docs]class CanFdIsoMode(enum.Enum): """CAN FD ISO MODE. Values: ISO: ISO CAN FD standard (ISO standard 11898-1:2015) In ISO CAN FD mode, for every transmitted frame, you can specify in the database or frame header whether a frame must be sent in CAN 2.0, CAN FD, or CAN FD+BRS mode. In the frame type field of the frame header, received frames indicate whether they have been sent with CAN 2.0, CAN FD, or CAN FD+BRS. You cannot use the Interface:CAN:Transmit I/O Mode property in ISO CAN FD mode, as the frame defines the transmit mode. NON_ISO: non-ISO CAN FD standard (Bosch CAN FD 1.0 specification) In Non-ISO CAN FD mode, CAN data frames are received at CAN data typed frames, which is either CAN 2.0, CAN FD, or CAN FD+BRS, but you cannot distinguish the standard in which the frame has been transmitted. ISO_LEGACY: You also can set the mode to Legacy ISO mode. In this mode, the behavior is the same as in Non-ISO CAN FD mode (Interface:CAN:Transmit I/O Mode is working, and received frames have the CAN data type). But the interface is working in ISO CAN FD mode, so you can communicate with other ISO CAN FD devices. Use this mode only for compatibility with existing applications. """ ISO = _cconsts.NX_CAN_FD_MODE_ISO NON_ISO = _cconsts.NX_CAN_FD_MODE_NON_ISO ISO_LEGACY = _cconsts.NX_CAN_FD_MODE_ISO_LEGACY
[docs]class SessionInfoState(enum.Enum): """State of running session. Values: STOPPED: All frames in the session are stopped. STARTED: All frames in the session are started. MIX: Some frames in the session are started while other frames are stopped. This state may occur when using ``start`` or ``stop`` with ``StartStopScope.SESSION_ONLY``. """ STOPPED = _cconsts.NX_SESSION_INFO_STATE_STOPPED STARTED = _cconsts.NX_SESSION_INFO_STATE_STARTED MIX = _cconsts.NX_SESSION_INFO_STATE_MIX
[docs]class CanCommState(enum.Enum): """CAN Comm State. Values: ERROR_ACTIVE: This state reflects normal communication, with few errors detected. The CAN interface remains in this state as long as receive error counter and transmit error counter are both below 128. ERROR_PASSIVE: If either the receive error counter or transmit error counter increment above 127, the CAN interface transitions into this state. Although communication proceeds, the CAN device generally is assumed to have problems with receiving frames. When a CAN interface is in error passive state, acknowledgement errors do not increment the transmit error counter. Therefore, if the CAN interface transmits a frame with no other device (ECU) connected, it eventually enters error passive state due to retransmissions, but does not enter bus off state. BUS_OFF: If the transmit error counter increments above 255, the CAN interface transitions into this state. Communication immediately stops under the assumption that the CAN interface must be isolated from other devices. When a CAN interface transitions to the bus off state, communication stops for the interface. All NI-XNET sessions for the interface no longer receive or transmit frame values. To restart the CAN interface and all its sessions, call :any:`nixnet._session.base.SessionBase.start`. INIT: This is the CAN interface initial state on power-up. The interface is essentially off, in that it is not attempting to communicate with other nodes (ECUs). When the start trigger occurs for the CAN interface, it transitions from the Init state to the Error Active state. When the interface stops due to a call to :any:`nixnet._session.base.SessionBase.stop`., the CAN interface transitions from either Error Active or Error Passive to the Init state. When the interface stops due to the Bus Off state, it remains in that state until you restart. """ ERROR_ACTIVE = _cconsts.NX_CAN_COMM_STATE_ERROR_ACTIVE ERROR_PASSIVE = _cconsts.NX_CAN_COMM_STATE_ERROR_PASSIVE BUS_OFF = _cconsts.NX_CAN_COMM_STATE_BUS_OFF INIT = _cconsts.NX_CAN_COMM_STATE_INIT
[docs]class CanLastErr(enum.Enum): """CAN Last Error Values: NONE: The last receive or transmit was successful. STUFF: More than 5 equal bits have occurred in sequence, which the CAN specification does not allow. FORM: A fixed format part of the received frame used the wrong format. ACK: Another node (ECU) did not acknowledge the frame transmit. If you call the appropriate ``write`` function and do not have a cable connected, or the cable is connected to a node that is not communicating, you see this error repeatedly. The CAN communication state eventually transitions to Error Passive, and the frame transmit retries indefinitely. BIT1: During a frame transmit (with the exception of the arbitration ID field), the interface wanted to send a recessive bit (logical 1), but the monitored bus value was dominant (logical 0). BIT0: During a frame transmit (with the exception of the arbitration ID field), the interface wanted to send a dominant bit (logical 0), but the monitored bus value was recessive (logical 1). CRC: The CRC contained within a received frame does not match the CRC calculated for the incoming bits. """ NONE = _cconsts.NX_CAN_LAST_ERR_NONE STUFF = _cconsts.NX_CAN_LAST_ERR_STUFF FORM = _cconsts.NX_CAN_LAST_ERR_FORM ACK = _cconsts.NX_CAN_LAST_ERR_ACK BIT1 = _cconsts.NX_CAN_LAST_ERR_BIT1 BIT0 = _cconsts.NX_CAN_LAST_ERR_BIT0 CRC = _cconsts.NX_CAN_LAST_ERR_CRC
[docs]class CanIoMode(enum.Enum): """CAN I/O Mode. Values: CAN: This is the default CAN 2.0 A/B standard I/O mode as defined in ISO 11898-1:2003. A fixed baud rate is used for transfer, and the payload length is limited to 8 bytes. CAN_FD: This is the CAN FD mode as specified in the CAN with *Flexible Data-Rate specification*, version 1.0. Payload lengths up to 64 are allowed, but they are transmitted at a single fixed baud rate (defined by :any:`Cluster.can_fd_baud_rate` or :any:`Interface.can_fd_baud_rate`). CAN_FD_BRS: This is the CAN FD as specified in the *CAN with Flexible Data-Rate* specification, version 1.0, with the optional Baud Rate Switching enabled. The same payload lengths as CAN FD mode are allowed; additionally, the data portion of the CAN frame is transferred at a different (higher) baud rate (defined by :any:`Cluster.can_fd_baud_rate` or :any:`Interface.can_fd_baud_rate`). """ CAN = _cconsts.NX_CAN_IO_MODE_CAN CAN_FD = _cconsts.NX_CAN_IO_MODE_CAN_FD CAN_FD_BRS = _cconsts.NX_CAN_IO_MODE_CAN_FD_BRS
[docs]class FlexRayPocState(enum.Enum): DEFAULT_CONFIG = _cconsts.NX_FLEX_RAY_POC_STATE_DEFAULT_CONFIG READY = _cconsts.NX_FLEX_RAY_POC_STATE_READY NORMAL_ACTIVE = _cconsts.NX_FLEX_RAY_POC_STATE_NORMAL_ACTIVE NORMAL_PASSIVE = _cconsts.NX_FLEX_RAY_POC_STATE_NORMAL_PASSIVE HALT = _cconsts.NX_FLEX_RAY_POC_STATE_HALT MONITOR = _cconsts.NX_FLEX_RAY_POC_STATE_MONITOR CONFIG = _cconsts.NX_FLEX_RAY_POC_STATE_CONFIG
[docs]class LinCommState(enum.Enum): '''LIN Comm State Values: IDLE: This is the LIN interface initial state on power-up. The interface is essentially off, in that it is not attempting to communicate with other nodes (ECUs). When the start trigger occurs for the LIN interface, it transitions from the Idle state to the Active state. When the interface stops due to a call to XNET Stop, the LIN interface transitions from either Active or Inactive to the Idle state. ACTIVE: This state reflects normal communication. The LIN interface remains in this state as long as bus activity is detected (frame headers received or transmitted). INACTIVE: This state indicates that no bus activity has been detected in the past four seconds. Regardless of whether the interface acts as a master or slave, it transitions to this state after four seconds of bus inactivity. As soon as bus activity is detected (break or frame header), the interface transitions to the Active state. The LIN interface does not go to sleep automatically when it transitions to Inactive. To place the interface into sleep mode, set the XNET Session Interface:LIN:Sleep property when you detect the Inactive state. ''' IDLE = _cconsts.NX_LIN_COMM_STATE_IDLE ACTIVE = _cconsts.NX_LIN_COMM_STATE_ACTIVE INACTIVE = _cconsts.NX_LIN_COMM_STATE_INACTIVE
[docs]class LinDiagnosticSchedule(enum.Enum): """LIN Diagnostic Schedule Values: NULL: The master does not execute any diagnostic schedule. No master request or slave response headers are transmitted on the LIN. MASTER_REQ: The master executes a diagnostic master request schedule (transmits a master request header onto the LIN) if it can. First, a master request schedule must be defined for the LIN cluster in the imported or in-memory database. Otherwise, error 'nixnet._enums.Err.DIAGNOSTIC_SCHEDULE_NOT_DEFINED' is returned when attempting to set this value. Second, the master must have a frame output queued session created for the master request frame, and there must be one or more new master request frames pending in the queue. If no new frames are pending in the output queue, no master request header is transmitted. This allows the timing of master request header transmission to be controlled by the timing of master request frame writes to the output queue. If there are no normal schedules pending, the master is effectively in diagnostics-only mode, and master request headers are transmitted at a rate determined by the slot delay defined for the master request frame slot in the master request schedule or the `nixnet._session.intf.Interface.lin_diag_s_tmin` property time, whichever is greater, and the state of the master request frame output queue as described above. If there are normal schedules pending, the master is effectively in diagnostics-interleaved mode, and a master request header transmission is inserted between each complete execution of a run-once or run-continuous schedule, as long as the `nixnet._session.intf.Interface.lin_diag_s_tmin` property time has been met, and there are one or more new master request frames pending in the master request frame output queue. SLAVE_RESP: The master executes a diagnostic slave response schedule (transmits a slave response header onto the LIN) if it is able to. A slave response schedule must be defined for the LIN cluster in the imported or in-memory database. Otherwise, error 'nixnet._enums.Err.DIAGNOSTIC_SCHEDULE_NOT_DEFINED' is returned when attempting to set this value. If there are no normal schedules pending, the master is effectively in diagnostics-only mode, and slave response headers are transmitted at the rate of the slot delay defined for the slave response frame slot in the slave response schedule. The addressed slave may or may not respond to each header, depending on its specified P2min and STmin timings. If there are normal schedules pending, the master is effectively in diagnostics-interleaved mode, and a slave response header transmission is inserted between each complete execution of a run-once or run-continuous schedule. Here again, the addressed slave may or may not respond to each header, depending on its specified P2min and STmin timings. """ NULL = _cconsts.NX_LIN_DIAGNOSTIC_SCHEDULE_NULL MASTER_REQ = _cconsts.NX_LIN_DIAGNOSTIC_SCHEDULE_MASTER_REQ SLAVE_RESP = _cconsts.NX_LIN_DIAGNOSTIC_SCHEDULE_SLAVE_RESP
[docs]class LinLastErr(enum.Enum): '''LIN Comm Last Error Code Values: NONE: No bus error has occurred since the previous communication state read. UNKNOWN_ID: Received a frame identifier that is not valid. FORM: The form of a received frame is incorrect. For example, the database specifies 8 bytes of payload, but you receive only 4 bytes. FRAMING: The byte framing is incorrect (for example, a missing stop bit). READBACK: The interface transmitted a byte, but the value read back from the transceiver was different. This often is caused by a cabling problem, such as noise. TIMEOUT: Receiving the frame took longer than the LIN-specified timeout. CRC: The received checksum was different than the expected checksum. ''' NONE = _cconsts.NX_LIN_LAST_ERR_CODE_NONE UNKNOWN_ID = _cconsts.NX_LIN_LAST_ERR_CODE_UNKNOWN_ID FORM = _cconsts.NX_LIN_LAST_ERR_CODE_FORM FRAMING = _cconsts.NX_LIN_LAST_ERR_CODE_FRAMING READBACK = _cconsts.NX_LIN_LAST_ERR_CODE_READBACK TIMEOUT = _cconsts.NX_LIN_LAST_ERR_CODE_TIMEOUT CRC = _cconsts.NX_LIN_LAST_ERR_CODE_CRC
[docs]class LinProtocolVer(enum.Enum): """LIN Protocol Version Values: VER_1_2: Version 1.2 VER_1_3: Version 1.3 VER_2_0: Version 2.0 VER_2_1: Version 2.1 VER_2_2: Version 2.2 """ VER_1_2 = _cconsts.NX_LIN_PROTOCOL_VER_1_2 VER_1_3 = _cconsts.NX_LIN_PROTOCOL_VER_1_3 VER_2_0 = _cconsts.NX_LIN_PROTOCOL_VER_2_0 VER_2_1 = _cconsts.NX_LIN_PROTOCOL_VER_2_1 VER_2_2 = _cconsts.NX_LIN_PROTOCOL_VER_2_2
[docs]class Condition(enum.Enum): TRANSMIT_COMPLETE = _cconsts.NX_CONDITION_TRANSMIT_COMPLETE INTF_COMMUNICATING = _cconsts.NX_CONDITION_INTF_COMMUNICATING INTF_REMOTE_WAKEUP = _cconsts.NX_CONDITION_INTF_REMOTE_WAKEUP
[docs]class GetDbcAttributeMode(enum.Enum): ATTRIBUTE = _cconsts.NX_GET_DBC_MODE_ATTRIBUTE ENUMERATION_LIST = _cconsts.NX_GET_DBC_MODE_ENUMERATION_LIST ATTRIBUTE_LIST = _cconsts.NX_GET_DBC_MODE_ATTRIBUTE_LIST VALUE_TABLE_LIST = _cconsts.NX_GET_DBC_MODE_VALUE_TABLE_LIST
[docs]class Merge(enum.Enum): """Cluster Merge Behavior Values: COPY_USE_SOURCE: The target object with all dependent child objects is removed from the target cluster and replaced by the source objects. COPY_USE_TARGET: The source object is ignored (the target cluster object with child objects remains unchanged). MERGE_USE_SOURCE: This adds child objects from the source object to child objects from the destination object. If target object contains a child object with the same name, the child object from the source frame replaces it. The source object properties (for example, payload length of the frame) replace the target properties. MERGE_USE_TARGET: This adds child objects from the source object to child objects from the destination object. If the target object contains a child object with the same name, it remains unchanged. The target object properties remain unchanged (for example, payload length). """ COPY_USE_SOURCE = _cconsts.NXDB_MERGE_COPY_USE_SOURCE COPY_USE_TARGET = _cconsts.NXDB_MERGE_COPY_USE_TARGET MERGE_USE_SOURCE = _cconsts.NXDB_MERGE_MERGE_USE_SOURCE MERGE_USE_TARGET = _cconsts.NXDB_MERGE_MERGE_USE_TARGET
[docs]class DongleState(enum.Enum): '''Dongle State. Values: NO_DONGLE_NO_EXT_POWER: No dongle, no external power. NO_DONGLE_EXT_POWER: No dongle, has external power. DONGLE_NO_EXT_POWER: Has dongle, no external power. READY: Ready. BUSY: Busy. COMM_ERROR: Comm Error. OVERCURRENT: Overcurrent. ''' NO_DONGLE_NO_EXT_POWER = _cconsts.NX_DONGLE_STATE_NO_DONGLE_NO_EXT_POWER NO_DONGLE_EXT_POWER = _cconsts.NX_DONGLE_STATE_NO_DONGLE_EXT_POWER DONGLE_NO_EXT_POWER = _cconsts.NX_DONGLE_STATE_DONGLE_NO_EXT_POWER READY = _cconsts.NX_DONGLE_STATE_READY BUSY = _cconsts.NX_DONGLE_STATE_BUSY COMM_ERROR = _cconsts.NX_DONGLE_STATE_COMM_ERROR OVERCURRENT = _cconsts.NX_DONGLE_STATE_OVER_CURRENT
[docs]class DongleId(enum.Enum): '''Dongle ID Values: HSCAN: CAN High Speed XSCAN: CAN Software-Selectable LIN: LIN DONGLE_LESS: Dongle-Less Design ''' LSCAN = _cconsts.NX_DONGLE_ID_LS_CAN HSCAN = _cconsts.NX_DONGLE_ID_HS_CAN SWCAN = _cconsts.NX_DONGLE_ID_SW_CAN XSCAN = _cconsts.NX_DONGLE_ID_XS_CAN LIN = _cconsts.NX_DONGLE_ID_LIN DONGLE_LESS = _cconsts.NX_DONGLE_ID_DONGLE_LESS UNKNOWN = _cconsts.NX_DONGLE_ID_UNKNOWN
[docs]class Phase(enum.Enum): '''Version Phase. Values: RELEASE ''' DEVELOPMENT = _cconsts.NX_PHASE_DEVELOPMENT ALPHA = _cconsts.NX_PHASE_ALPHA BETA = _cconsts.NX_PHASE_BETA RELEASE = _cconsts.NX_PHASE_RELEASE
[docs]class DevForm(enum.Enum): '''Device physical form factor. Values: C_SERIES PCI PCIE PXI PXIE USB ''' C_SERIES = _cconsts.NX_DEV_FORM_C_SERIES PCI = _cconsts.NX_DEV_FORM_PCI PCIE = _cconsts.NX_DEV_FORM_PCIE PXI = _cconsts.NX_DEV_FORM_PXI PXIE = _cconsts.NX_DEV_FORM_PXIE USB = _cconsts.NX_DEV_FORM_USB
[docs]class CanTermCap(enum.Enum): '''CAN Termination Capability. Values: NO YES ''' NO = _cconsts.NX_CAN_TERM_CAP_NO YES = _cconsts.NX_CAN_TERM_CAP_YES
[docs]class CanTerm(enum.Enum): '''CAN Termination. Different CAN hardware has different termination requirements, and the OFF and ON values have different meanings. **High-Speed CAN** High-Speed CAN networks are typically terminated on the bus itself instead of within a node. However, NI-XNET allows you to configure termination within the node to simplify testing. If your bus already has the correct amount of termination, leave this property in the default state of Off. However, if you require termination, set this property to On. Values: OFF: Termination is disabled. On: Termination (120 Ohms) is enabled. **Low-Speed/Fault-Tolerant CAN** Every node on a Low-Speed CAN network requires termination for each CAN data line (CAN_H and CAN_L). This configuration allows the Low-Speed/Fault-Tolerant CAN port to provide fault detection and recovery. Refer to Termination for more information about low-speed termination. In general, if the existing network has an overall network termination of 125 Ohms or less, turn on termination to enable the 4.99 kOhms option. Otherwise, you should select the default 1.11 kOhms option. Values: OFF: Termination is set to 1.11 kOhms. ON: Termination is set to 4.99 kOhms. **Single-Wire CAN** The ISO standard requires Single-Wire transceivers to have a 9.09 kOhms resistor, and no additional configuration is supported. ''' OFF = _cconsts.NX_CAN_TERM_OFF ON = _cconsts.NX_CAN_TERM_ON
[docs]class CanTcvrCap(enum.Enum): '''CAN bus phusical transceivers support. Values: HS: High-Speed / Flexible Data-Rate (HS/FD). LS: Low-Speed / Fault-Tolerant (LS//FT) XS: XS (HS//FD, LS/FT, SW, or External) XSHSLS: XS (HS//FD, LS/FT) ''' HS = _cconsts.NX_CAN_TCVR_CAP_HS LS = _cconsts.NX_CAN_TCVR_CAP_LS XS = _cconsts.NX_CAN_TCVR_CAP_XS XSHSLS = _cconsts.NX_CAN_TCVR_CAP_XS_HS_LS UNKNOWN = _cconsts.NX_CAN_TCVR_CAP_UNKNOWN
[docs]class Protocol(enum.Enum): """Protocol. Values: UNKNOWN: Unknown protocol, CAN: CAN protocol. FLEX_RAY: FlexRay protocol. LIN: LIN protocol. """ UNKNOWN = _cconsts.NX_PROTOCOL_UNKNOWN CAN = _cconsts.NX_PROTOCOL_CAN FLEX_RAY = _cconsts.NX_PROTOCOL_FLEX_RAY LIN = _cconsts.NX_PROTOCOL_LIN
[docs]class AppProtocol(enum.Enum): """Application Protocol. Values: NONE: The default application protocol. J1939: Indicates J1939 clusters. The value enables the following features: * Sending/receiving long frames as the SAE J1939 specification specifies, using the J1939 transport protocol. * Using a special notation for J1939 identifiers. * Using J1939 address claiming. """ NONE = _cconsts.NX_APP_PROTOCOL_NONE J1939 = _cconsts.NX_APP_PROTOCOL_J1939
[docs]class CanTcvrState(enum.Enum): '''CAN Transceiver State. Values: NORMAL: This state sets the transceiver to normal communication mode. If the transceiver is in the Sleep mode, this performs a local wakeup of the transceiver and CAN controller chip. SLEEP: This state sets the transceiver and CAN controller chip to Sleep (or standby) mode. You can set the interface to Sleep mode only while the interface is communicating. If the interface has not been started, setting the transceiver to Sleep mode returns an error. Before going to sleep, all pending transmissions are transmitted onto the CAN bus. Once all pending frames have been transmitted, the interface and transceiver go into Sleep (or standby) mode. Once the interface enters Sleep mode, further communication is not possible until a wakeup occurs. The transceiver and CAN controller wake from Sleep mode when either a local wakeup or remote wakeup occurs. A local wakeup occurs when the application sets the transceiver state to either Normal or Single Wire Wakeup. A remote wakeup occurs when a remote node transmits a CAN frame (referred to as the wakeup frame). The wakeup frame wakes up the NI-XNET interface transceiver and CAN controller chip. The CAN controller chip does not receive or acknowledge the wakeup frame. After detecting the wakeup frame and idle bus, the CAN interface enters Normal mode. When the local or remote wakeup occurs, frame transmissions resume from the point at which the original Sleep mode was set. SW_WAKEUP: For a remote wakeup to occur for Single Wire transceivers, the node that transmits the wakeup frame first must place the network into the Single Wire Wakeup Transmission mode by asserting a higher voltage. This state sets a Single Wire transceiver into the Single Wire Wakeup Transmission mode, which forces the Single Wire transceiver to drive a higher voltage level on the network to wake up all sleeping nodes. Other than this higher voltage, this mode is similar to Normal mode. CAN frames can be received and transmitted normally. If you are not using a Single Wire transceiver, setting this state returns an error. If your current mode is Single Wire High-Speed, setting this mode returns an error because you are not allowed to wake up the bus in high-speed mode. The application controls the timing of how long the wakeup voltage is driven. The application typically changes to Single Wire Wakeup mode, transmits a single wakeup frame, and then returns to Normal mode. SW_HIGH_SPEED: This state sets a Single Wire transceiver into Single Wire High-Speed Communication mode. If you are not using a Single Wire transceiver, setting this state returns an error. Single Wire High-Speed Communication mode disables the transceiver's internal waveshaping function, allowing the SAE J2411 High-Speed baud rate of 83.333 kbytes/s to be used. The disadvantage versus Single Wire Normal Communication mode, which allows only the SAE J2411 baud rate of 33.333 kbytes/s, is degraded EMC performance. Other than the disabled waveshaping, this mode is similar to Normal mode. CAN frames can be received and transmitted normally. This mode has no relationship to High-Speed transceivers. It is merely a higher speed mode of the Single Wire transceiver, typically used to download data when the onboard network is attached to an offboard tester ECU. The Single Wire transceiver does not support use of this mode in conjunction with Sleep mode. For example, a remote wakeup cannot transition from sleep to this Single Wire High-Speed mode. Therefore, setting the mode to Sleep from Single Wire High-Speed mode returns an error. ''' NORMAL = _cconsts.NX_CAN_TCVR_STATE_NORMAL SLEEP = _cconsts.NX_CAN_TCVR_STATE_SLEEP SW_WAKEUP = _cconsts.NX_CAN_TCVR_STATE_SW_WAKEUP SW_HIGH_SPEED = _cconsts.NX_CAN_TCVR_STATE_SW_HIGH_SPEED
[docs]class CanTcvrType(enum.Enum): '''CAN Transceiver Type Values: High-Speed (HS): This configuration enables the High-Speed transceiver. This transceiver supports baud rates of 40 kbaud to 1 Mbaud. When using a High-Speed transceiver, you also can communicate with a CAN FD bus. Refer to NI-XNET Hardware Overview to determine which CAN FD baud rates are supported. Low-Speed/Fault-Tolerant (LS): This configuration enables the Low-Speed/Fault-Tolerant transceiver. This transceiver supports baud rates of 40-125 kbaud. Single Wire (SW): This configuration enables the Single Wire transceiver. This transceiver supports baud rates of 33.333 kbaud and 83.333 kbaud. External (EXT): This configuration allows you to use an external transceiver to connect to your CAN bus. Refer to the XNET Session Interface:CAN:External Transceiver Config property for more information. Disconnect (DISC): This configuration allows you to disconnect the CAN controller chip from the connector. You can use this value when you physically change the external transceiver. ''' HS = _cconsts.NX_CAN_TCVR_TYPE_HS LS = _cconsts.NX_CAN_TCVR_TYPE_LS SW = _cconsts.NX_CAN_TCVR_TYPE_SW EXT = _cconsts.NX_CAN_TCVR_TYPE_EXT DISC = _cconsts.NX_CAN_TCVR_TYPE_DISC
[docs]class FlexRayTerm(enum.Enum): OFF = _cconsts.NX_FLEX_RAY_TERM_OFF ON = _cconsts.NX_FLEX_RAY_TERM_ON
[docs]class LinSleep(enum.Enum): '''LIN interface sleep/awake state Values: REMOTE_SLEEP: Set interface to sleep locally and transmit sleep requests to remote node. REMOTE_WAKE: Set interface to awake locally and transmit wakeup requests to remote nodes. LOCAL_SLEEP: Set interface to sleep locally and not to interact with the network. LOCAL_WAKE: Set interface to awake locally and not to interact with the network. ''' REMOTE_SLEEP = _cconsts.NX_LIN_SLEEP_REMOTE_SLEEP REMOTE_WAKE = _cconsts.NX_LIN_SLEEP_REMOTE_WAKE LOCAL_SLEEP = _cconsts.NX_LIN_SLEEP_LOCAL_SLEEP LOCAL_WAKE = _cconsts.NX_LIN_SLEEP_LOCAL_WAKE
[docs]class LinTerm(enum.Enum): '''LIN Termination''' OFF = _cconsts.NX_LIN_TERM_OFF ON = _cconsts.NX_LIN_TERM_ON
[docs]class OutStrmTimng(enum.Enum): '''Output Stream Timing Values: IMMEDIATE: Frames are dequeued from the queue and transmitted immediately to the bus. The hardware transmits all frames in the queue as fast as possible. There are no restrictions on frames that you use in other sessions. For replay modes, the hardware is placed into a Replay mode. In this mode, the hardware evaluates the frame timestamps and attempts to maintain the original transmission times as the timestamp stored in the frame indicates. The actual transmission time is based on the relative time difference between the first dequeued frame and the time contained in the dequeued frame. REPLAY_EXCLUSIVE: The hardware transmits only frames that do not appear in the list. You cannot create any other output sessions. Attempting to create an output session returns an error. Input sessions have no restrictions. This can be used to test an ECU when the output stream list contains the frames the ECU transmits. You can replay all frames in this mode if the output stream list is unset. REPLAY_INCLUSIVE: The hardware transmits only frames that appear in the list. You can create output sessions that use frames that do not appear in the Interface:Output Stream List property. Attempting to create an output session that uses a frame from the Interface:Output Stream List property results in an error. Input sessions have no restrictions. This can be used to emulate an ECU when the output stream list contains the frames the ECU transmits. ''' IMMEDIATE = _cconsts.NX_OUT_STRM_TIMNG_IMMEDIATE REPLAY_EXCLUSIVE = _cconsts.NX_OUT_STRM_TIMNG_REPLAY_EXCLUSIVE REPLAY_INCLUSIVE = _cconsts.NX_OUT_STRM_TIMNG_REPLAY_INCLUSIVE
[docs]class CanPendTxOrder(enum.Enum): '''Can Pending Transmit Order. Values: AS_SUBMITTED: Frames are transmitted in the order that they were submitted into the queue. There is no reordering of any frames, and a higher priority frame may be delayed due to the transmission or retransmission of a previously submitted frame. However, this mode has the highest performance. BY_IDENTIFIER: Frames with the highest priority identifier (lower CAN ID value) transmit first. The frames are stored in a priority queue sorted by ID. If a frame currently being transmitted requires retransmission (for example, it lost arbitration or failed with a bus error), and a higher priority frame is queued in the meantime, the lower priority frame is not immediately retried, but the higher priority frame is transmitted instead. In this mode, you can emulate multiple ECUs and still see a behavior similar to a real bus in that the highest priority message is transmitted on the bus. This mode may be slower in performance (possible delays between transmissions as the queue is re-evaluated), and lower priority messages may be delayed indefinitely due to frequent high-priority messages. ''' AS_SUBMITTED = _cconsts.NX_CAN_PEND_TX_ORDER_AS_SUBMITTED BY_IDENTIFIER = _cconsts.NX_CAN_PEND_TX_ORDER_BY_IDENTIFIER
[docs]class FlexRaySleep(enum.Enum): LOCAL_SLEEP = _cconsts.NX_FLEX_RAY_SLEEP_LOCAL_SLEEP LOCAL_WAKE = _cconsts.NX_FLEX_RAY_SLEEP_LOCAL_WAKE REMOTE_WAKE = _cconsts.NX_FLEX_RAY_SLEEP_REMOTE_WAKE
[docs]class FrmFlexRayChAssign(enum.Enum): A = _cconsts.NX_FRM_FLEX_RAY_CH_ASSIGN_A B = _cconsts.NX_FRM_FLEX_RAY_CH_ASSIGN_B AAND_B = _cconsts.NX_FRM_FLEX_RAY_CH_ASSIGN_AAND_B NONE = _cconsts.NX_FRM_FLEX_RAY_CH_ASSIGN_NONE
[docs]class ClstFlexRaySampClkPer(enum.Enum): P0125US = _cconsts.NX_CLST_FLEX_RAY_SAMP_CLK_PER_P0125US P025US = _cconsts.NX_CLST_FLEX_RAY_SAMP_CLK_PER_P025US P05US = _cconsts.NX_CLST_FLEX_RAY_SAMP_CLK_PER_P05US
[docs]class FrmFlexRayTiming(enum.Enum): CYCLIC = _cconsts.NX_FRM_FLEX_RAY_TIMING_CYCLIC EVENT = _cconsts.NX_FRM_FLEX_RAY_TIMING_EVENT
[docs]class FrmCanTiming(enum.Enum): """CAN Frame Timing Values: CYCLIC_DATA: The transmitting ECU transmits the CAN data frame in a cyclic (periodic) manner. The :any:`Frame.can_tx_time` property defines the time between cycles. The transmitting ECU ignores CAN remote frames received for this frame. EVENT_DATA: The transmitting ECU transmits the CAN data frame in an event-driven manner. The :any:`Frame.can_tx_time` property defines the minimum interval. For NI-XNET, the event occurs when you write data to a session. The transmitting ECU ignores CAN remote frames received for this frame. CYCLIC_REMOTE: The receiving ECU transmits the CAN remote frame in a cyclic (periodic) manner. The :any:`Frame.can_tx_time` property defines the time between cycles. The transmitting ECU responds to each CAN remote frame by transmitting the associated CAN data frame. EVENT_REMOTE: The receiving ECU transmits the CAN remote frame in an event-driven manner. The :any:`Frame.can_tx_time` property defines the minimum interval. For NI-XNET, the event occurs when you write a frame to a session. The transmitting ECU responds to each CAN remote frame by transmitting the associated CAN data frame. CYCLIC_EVENT: This timing type is a combination of the cyclic and event timing. The frame is transmitted when you write to a session, but also periodically sending the last recent values written. The :any:`Frame.can_tx_time` property defines the cycle period. There is no minimum interval time defined in this mode, so be careful not to write too frequently to avoid creating a high busload. """ CYCLIC_DATA = _cconsts.NX_FRM_CAN_TIMING_CYCLIC_DATA EVENT_DATA = _cconsts.NX_FRM_CAN_TIMING_EVENT_DATA CYCLIC_REMOTE = _cconsts.NX_FRM_CAN_TIMING_CYCLIC_REMOTE EVENT_REMOTE = _cconsts.NX_FRM_CAN_TIMING_EVENT_REMOTE CYCLIC_EVENT = _cconsts.NX_FRM_CAN_TIMING_CYCLIC_EVENT
[docs]class SigByteOrdr(enum.Enum): """Signal Byte Order Values: Little Endian: Higher significant signal bits are placed on higher byte addresses. In NI-CAN, this was called Intel Byte Order. .. image:: littleendianstartbit12.gif **Little Endian Signal with Start Bit 12** Big Endian: Higher significant signal bits are placed on lower byte addresses. In NI-CAN, this was called Motorola Byte Order. .. image:: bigendianstartbit12.gif **Big Endian Signal with Start Bit 12** """ LITTLE_ENDIAN = _cconsts.NX_SIG_BYTE_ORDR_LITTLE_ENDIAN BIG_ENDIAN = _cconsts.NX_SIG_BYTE_ORDR_BIG_ENDIAN
[docs]class SigDataType(enum.Enum): """Signal Data Type Values: SIGNED: Signed integer with positive and negative values. UNSIGNED: Unsigned integer with no negative values. IEEE_FLOAT: Float value with 7 or 15 significant decimal digits (32 bit or 64 bit). """ SIGNED = _cconsts.NX_SIG_DATA_TYPE_SIGNED UNSIGNED = _cconsts.NX_SIG_DATA_TYPE_UNSIGNED IEEE_FLOAT = _cconsts.NX_SIG_DATA_TYPE_IEEE_FLOAT
[docs]class LinSchedRunMode(enum.Enum): """LIN Schedule Run Mode. Values: CONTINUOUS: The master runs the schedule continuously. When the last entry executes, the schedule starts again with the first entry. ONCE: The master runs the schedule once (all entries), then returns to the previously running continuous schedule (or NULL). If requests are submitted for multiple run-once schedules, each run-once executes in succession based on its :any:`LinSched.priority`, then the master returns to the continuous schedule (or NULL). NULL: All communication stops immediately. A schedule with this run mode is called a *null schedule*. """ CONTINUOUS = _cconsts.NX_LIN_SCHED_RUN_MODE_CONTINUOUS ONCE = _cconsts.NX_LIN_SCHED_RUN_MODE_ONCE NULL = _cconsts.NX_LIN_SCHED_RUN_MODE_NULL
[docs]class LinSchedEntryType(enum.Enum): """LIN Schedule Entry Type. Values: UNCONDITIONAL: A single frame transfers in this slot. SPORADIC: The master transmits in this slot. The master can select from multiple frames to transmit. Only updated frames are transmitted. When more than one frame is updated, the master decides by priority which frame to send. The other updated frame remains pending and can be sent when this schedule entry is processed the following time. The order of unconditional frames in :any:`LinSchedEntry.frames` (the first frame has the highest priority) determines the frame priority. EVENT_TRIGGERED: Multiple slaves can transmit an unconditional frame in this slot. The slave transmits the frame only if at least one frame signal has been updated. When a collision occurs (multiple slaves try to transmit in the same slot), this is detected and resolved using a different schedule specified in the :any:`LinSchedEntry.collision_res_sched` property. The resolving schedule runs once, starting in the subsequent slot after the collision, and automatically returns to the previous schedule at the subsequent position where the collision occurred. NODE_CONFIG_SERVICE: The schedule entry contains a node configuration service. The node configuration service is defined as raw data bytes in :any:`LinSchedEntry.nc_ff_data_bytes`. """ UNCONDITIONAL = _cconsts.NX_LIN_SCHED_ENTRY_TYPE_UNCONDITIONAL SPORADIC = _cconsts.NX_LIN_SCHED_ENTRY_TYPE_SPORADIC EVENT_TRIGGERED = _cconsts.NX_LIN_SCHED_ENTRY_TYPE_EVENT_TRIGGERED NODE_CONFIG_SERVICE = _cconsts.NX_LIN_SCHED_ENTRY_TYPE_NODE_CONFIG_SERVICE
[docs]class FrmLinChecksum(enum.Enum): """LIN Frame Transmitted Checksum Values: CLASSIC: Classic checksum. ENHANCED: Enhanced checksum. """ CLASSIC = _cconsts.NX_FRM_LIN_CHECKSUM_CLASSIC ENHANCED = _cconsts.NX_FRM_LIN_CHECKSUM_ENHANCED
[docs]class FrameType(enum.Enum): """Frame format type.""" CAN_DATA = _cconsts.NX_FRAME_TYPE_CAN_DATA CAN_REMOTE = _cconsts.NX_FRAME_TYPE_CAN_REMOTE CAN_BUS_ERROR = _cconsts.NX_FRAME_TYPE_CAN_BUS_ERROR CAN20_DATA = _cconsts.NX_FRAME_TYPE_CAN20_DATA CANFD_DATA = _cconsts.NX_FRAME_TYPE_CANFD_DATA CANFDBRS_DATA = _cconsts.NX_FRAME_TYPE_CANFDBRS_DATA FLEX_RAY_DATA = _cconsts.NX_FRAME_TYPE_FLEX_RAY_DATA FLEX_RAY_NULL = _cconsts.NX_FRAME_TYPE_FLEX_RAY_NULL FLEX_RAY_SYMBOL = _cconsts.NX_FRAME_TYPE_FLEX_RAY_SYMBOL LIN_DATA = _cconsts.NX_FRAME_TYPE_LIN_DATA LIN_BUS_ERROR = _cconsts.NX_FRAME_TYPE_LIN_BUS_ERROR LIN_NO_RESPONSE = _cconsts.NX_FRAME_TYPE_LIN_NO_RESPONSE J1939_DATA = _cconsts.NX_FRAME_TYPE_J1939_DATA SPECIAL_DELAY = _cconsts.NX_FRAME_TYPE_SPECIAL_DELAY SPECIAL_LOG_TRIGGER = _cconsts.NX_FRAME_TYPE_SPECIAL_LOG_TRIGGER SPECIAL_START_TRIGGER = _cconsts.NX_FRAME_TYPE_SPECIAL_START_TRIGGER