Package Versions:

Changes between 1.5.1 and 1.5.2:
--------------------------------
 * Fix - Library:
        -> Reactivating semaphores for multithreaded environments [Windows/Linux].
           [avoid mailboxes conflict]
 * Fix - Firmware:
        -> Next request scheduling time (BA case) after receiving a response frame.

Release date:                   27-05-2026
Software versions:
    gateware_mpcie              >= 1.14.0 [cs:76BB]
    gateware_cc                 >= 2.4.0  [cs:7499]
    firmware                    1.8.2
    driver (linux)              1.6.0
    driver (windows)            1.5.0
    library                     1.5.1
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             2.1.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.5.0 and 1.5.1:
--------------------------------
 * Fix - Firmware
        -> False positive frame collision during BA startup for PCIe devices:
            Note: PCIe gateware (v1.14.0 and below) do not yet support
                  the RS-485 PHY component. Therefore, `line_state_ok`
                  input signal should not be processed in the firmware.

Release date:                   13-05-2026
Software versions:
    gateware_mpcie              >= 1.14.0 [cs:76BB]
    gateware_cc                 >= 2.4.0  [cs:7499]
    firmware                    1.8.1
    driver (linux)              1.6.0
    driver (windows)            1.5.0
    library                     1.5.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             2.1.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.6 and 1.5.0:
--------------------------------
 * Update - Library/Firmware:
        -> merge pcie and cc-84 powerfip projects
 * Add - Library:
        -> powerfip-cc support (direct chip coprocessor management)
 * Add - Library: Function(s):
        -> pwrfip_its_process()
        -> pwrfip_diag_process()
 * Add - Library: Structure(s):
        -> struct pwrfip_proc_cfg
 * Add - Firmware:
        -> Infinite refresh management
            => prod_status enabled and always equals to 0x05
               when the period is set to 0
 * Update - Library: Structure(s):
        -> struct pwrfip_node_cfg   : new field `.proc`
        -> struct pwrfip_node_status: new field `.temperature`
 * Fix - Driver(Linux):
        -> Makefile: EXTRA_CFLAGS deprecated (use of ccflags-y)
 * Remove - Library: Function(s):
        -> pwrfip_evt_process()
 * Fix - CC/Gateware:
        -> SRAM + BSS cleanup on reset
        -> RXER_STUCK + RXLINE_OK signals
            => better impedance error detection when mau_cfg pin is set
 * Fix - Firmware
        -> automatic presence test
        -> during testp, force 0x9002 request until RP_DAT emission
 * Fix - Library:
        -> wait status for mailboxes
            => improves r/w performance access to chip coprocessor

Release date:                   09-03-2026
Software versions:
    gateware_mpcie              >= 1.14.0 [cs:76BB]
    gateware_cc                 >= 2.4.0  [cs:7499]
    firmware                    1.8.0
    driver (linux)              1.6.0
    driver (windows)            1.5.0
    library                     1.5.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             2.1.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.5 and 1.4.6:
--------------------------------
 * Add - Library: Function(s):
        -> pwrfip_var_type_set()
 * Add - Library: turn-around min times improvement
        -> 10us@1Mbps
        -> 13us@2.5Mbps
 * Add - Library/Firmware:
        -> monomedium management for 0x9002 variable
 * Add: Firmware
        -> allow synchronous event on rp_dat/rp_msg content
 * Update - Library: Function(s)
        -> pwrfip_msg_send(): Ability to dynamically
           change production message header (destination field)
 * Update - Library: Enumeration(s):
        -> enum pwrfip_sm_var_type (add: PWRFIP_SM_VAR_SEG_PAR)
 * Update - Driver(Linux):
        -> update linux driver for kernel >= 6.10.0
 * Update - Tools: pwrfip_ping (v2.1)
        -> synchronous handler on rp_dat values (instead of id_dat)

Release date:                   12-05-2025
Software versions:
    gateware                    >= 1.14.0
    firmware                    1.6.0
    driver (linux)              1.6.0
    driver (windows)            1.5.0
    library                     1.4.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             2.1.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.4 and 1.4.5:
--------------------------------
 * Update - Driver(Linux):
        -> update linux driver for kernel >= 6.4.0
 * Update - Tools: pwrfip_ping (v2.0)

Release date:                   06-11-2024
Software versions:
    gateware                    >= 1.9.0
    firmware                    1.5.0
    driver (linux)              1.5.0
    driver (windows)            1.5.0
    library                     1.3.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             2.0.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.3 and 1.4.4:
--------------------------------
 * Fix - Firmware:
        -> correct watchdog management for slave node

Release date:                   26-07-2024
Software versions:
    gateware                    >= 1.9.0
    firmware                    1.5.0
    driver (linux)              1.4.0
    driver (windows)            1.5.0
    library                     1.3.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             1.0.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.2 and 1.4.3:
--------------------------------
 * Add - Firmware + Library:
        -> support of fip node watchdog timeout
 * Update - Library: Structure(s):
            -> struct pwrfip_node_cfg
               (add: .watchdog_ustime field)

Release date:                   03-04-2024
Software versions:
    gateware                    >= 1.9.0
    firmware                    1.4.0
    driver (linux)              1.4.0
    driver (windows)            1.5.0
    library                     1.3.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             1.0.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.1 and 1.4.2:
--------------------------------
 * Add - Library(Linux):
        -> new binary architectures (aarch64[arm64], arm[arm32])
 * Fix - Firmware: false positive error (PWRFIP_VAR_NOT_MEANING)
        -> production status was erased (0x00) during async w_var operation

Release date:                   27-06-2023
Software versions:
    gateware                    >= 1.9.0
    firmware                    1.3.0
    driver (linux)              1.4.0
    driver (windows)            1.5.0
    library                     1.2.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             1.0.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.4.0 and 1.4.1:
--------------------------------
 * Add - Driver(Windows):
            -> Microsoft WHQL Certification + Signature
            Note: Avoids code 52 during driver installation
                  when secure boot is enabled

Release date:                   09-12-2022
Software versions:
    gateware                    >= 1.9.0
    firmware                    1.2.0
    driver (linux)              1.4.0
    driver (windows)            1.5.0
    library                     1.1.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             1.0.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.3.3 and 1.4.0:
--------------------------------
 * Add - Firmware + Library:
            -> support of dynamic refreshment status
               (+ time infos for variables)
            -> support of variable long frames
               [experimental protocol extension]:
                - up to 505 bytes on copper medium
                - up to 1024 bytes on optic medium
            -> support of new FIP/WorldFIP bitrates
               [experimental protocol extension]:
                - 12.5Mbps and 25Mbps
 * Add - Tools (pwrfip_2sta/pwrfip_performance):
            -> node address parameter [-n] (vs [-s] before)
            -> silence us time parameter [-s]
            -> turn-around us time parameter [-r]
            -> pwrfip_performance: add extra check on consumed vars
               (check that all the frame bytes are incremented by one
                at each cycle)
 * Add - Driver(Linux)
            -> DMA transfer support
               (improvement of the access times in reading of
                the FIP controller)
 * Add - Tools: New examples
            -> pwrfip_perf_long_frm
            -> pwrfip_nsta
            -> pwrfip_ping
 * Add - Tools/Gateway(Linux): Open-Source Software Gateways
            -> mbfip_gateway: Modbus TCP <-> WorldFIP
            -> uafip_tsn_gateway: OPC-UA Pub/Sub TSN <-> WorldFIP
 * Update - Library:
            -> update min/max ranges time for silence/turn-around time
 * Update - Library: Structure(s):
            -> struct pwrfip_var
               (add: .time_info field)
            -> struct pwrfip_node_cfg
               (add: .prtcl_ext field)
 * Update - Drivers(Win/Linux):
            -> sram cleanup during reset ioctl
 * Update - Firmware:
            -> startup after reset in 300us (vs 197ms)
            -> intern DMA implementation
            -> speedup code execution (optimization)
            -> risc-v soft cpu (1.6.4 -> 1.6.7)
            -> m isa extension (hardware multiplication support)

Release date:                   21-06-2022
Software versions:
    gateware                    >= 1.9.0
    firmware                    1.2.0
    driver (linux)              1.4.0
    driver (windows)            1.4.0
    library                     1.1.0
    tools:
        pwrfip_2sta             2.2.0
        pwrfip_nsta             1.0.0
        pwrfip_perf_long_frm    1.0.0
        pwrfip_performance      1.3.0
        pwrfip_ping             1.0.0
        mbfip_gateway           1.0.0
        uafip_tsn_gateway       1.0.0

Changes between 1.3.2 and 1.3.3:
--------------------------------
 * Fix - Firmware: SRAM lock issue between DPM and MAU

Release date:               28-03-2022
Software versions:
    gateware                >= 0.35.0, < 1.6.0
    firmware                1.1.1
    driver (linux)          1.3.1
    driver (windows)        1.3.1
    library                 1.0.2
    tools:
        pwrfip_2sta         2.1.1
        pwrfip_performance  1.2.1

Changes between 1.3.1 and 1.3.2:
--------------------------------
 * Add - Library:
            -> Synchronous events allowed on ID_DAT request frame
               for FIP variables (prod/cons)
 * Update - Library: Enumeration(s):
            -> enum pwrfip_evt_type (add: PWRFIP_EVT_TYPE_PERMANENT_ID)

Release date:               01-03-2022
Software versions:
    firmware                1.1.0
    driver (linux)          1.3.1
    driver (windows)        1.3.1
    library                 1.0.2
    tools:
        pwrfip_2sta         2.1.1
        pwrfip_performance  1.2.1

Changes between 1.3.0 and 1.3.1:
--------------------------------
 * Add - Package(Win/Linux): Multiarch powerfip lib binaries
            -> windows: x86_64, i686
            -> linux: x86_64, i386
 * Add - Library + Drivers(Win/Linux): 
            -> driver interface changes to allow running 32-bit programs
               in a 64-bit kernel
 * Update - Library(Win):
            -> remove libwinpthread-1.dll dependency for libpowerfip.dll
 * Fix - Library: incorrect node initialization for 32-bit apps

Release date:               13-01-2022
Software versions:
    firmware                1.1.0
    driver (linux)          1.3.1
    driver (windows)        1.3.1
    library                 1.0.1
    tools:
        pwrfip_2sta         2.1.1
        pwrfip_performance  1.2.1

Changes between 1.2.0 and 1.3.0:
--------------------------------
 * Add - Library: Function(s):
            -> pwrfip_error_get()
            -> pwrfip_sm_var_create()
            -> pwrfip_sm_identification_get()
            -> pwrfip_sm_report_get()
            -> pwrfip_sm_presence_get()
            -> pwrfip_sm_presence_list_get()
            -> pwrfip_sm_ba_sync_get()
 * Add - Library: Structure(s):
            -> struct pwrfip_sm_identification
            -> struct pwrfip_sm_report
            -> struct pwrfip_sm_presence
            -> struct pwrfip_sm_presence_list
            -> struct pwrfip_sm_ba_sync
 * Add - Firmware:
            -> user reading of coprocessor local database allowed
               for produced variables
            -> the presence test scan (testp) of the bus arbiter
               automatically produces the variable SM-MPS 0x9002
               on the network when the presence table changes
            -> add a new "BA stopped" event on network anomaly
               (on inconsistent end BA window epoch)
 * Add - Tools: pwrfip_2sta:
            -> get SM-MPS information from a remote node
 * Update - Drivers(Win/Linux): change on struct pwrfip_dev_infos
 * Update - Library: Structure(s):
            -> struct pwrfip_dev_infos
               (add: .fsn field)
            -> struct pwrfip_msg_addr
 * Fix - Firmware: increases the MAU module resilience to network
            interferences

Release date:               07-01-2022
Software versions:
    firmware                1.1.0
    driver (linux)          1.3.0
    driver (windows)        1.3.0
    library                 1.0.0
    tools:
        pwrfip_2sta         2.1.0
        pwrfip_performance  1.2.0

Changes between 1.1.0 and 1.2.0:
--------------------------------
 * Add - Firmware: Periodic/Aperiodic message service:
            -> RP_DAT_MSG
            -> ID_MSG
            -> RP_MSG_ACKe/RP_MSG_ACKo/RP_MSG_NOACK
            -> RP_ACKe+/RP_ACKo+/RP_ACKe-/RP_ACKo-
            -> RP_FIN
 * Add - Library: Periodic/Aperiodic message service:
            -> pwrfip_msg_create()
            -> pwrfip_msg_delete()
            -> pwrfip_msg_tx_channel_purge()
            -> pwrfip_msg_send()
 * Add - Library: Structure(s):
            -> struct pwrfip_msg_cfg
            -> struct pwrfip_msg_tx_cfg
            -> struct pwrfip_msg_rx_cfg
            -> struct pwrfip_msg_addr
            -> struct pwrfip_msg_hdr
            -> struct pwrfip_msg
 * Add - Drivers(Win/Linux): mailboxes init/exit + firmware load
                             + sensors getter
 * Add - Driver/Lib (Linux): launch powerfip apps without
                             admin rights
 * Add - Tools: pwrfip_2sta:
            -> aperiodic message test
            -> change on the IDs:
                - periodic: 0x3800, 0x3801 (vs 0x8426, 0x8427)
                - aperiodic: 0x7800, 0x7801 (vs 0x8322)
            -> ping/pong error counter
            -> messages rx/tx statistics
 * Add - Tools: pwrfip_performance:
            -> periodic message test
            -> messages rx/tx statistics
 * Update - Drivers(Win/Linux): change on struct pwrfip_event
 * Update - Library: Structure(s):
            -> struct pwrfip_node_msg_cfg
               (add: .tx_aper_fifo_size, .tx_per_fifo_size[8],
                     .tx_per_fifo_id[8] fields)
            -> struct pwrfip_node_infos
               (add: .bss_bsz and .bss_max_bsz fields)
            -> struct pwrfip_event
               (add: .reserved[2] field)
 * Fix - Driver(Linux): udev rules

Release date:               07-12-2021
Software versions:
    firmware                1.0.0
    driver (linux)          1.2.0
    driver (windows)        1.2.0
    library                 0.9.0
    tools:
        pwrfip_2sta         2.0.0
        pwrfip_performance  1.1.0

Changes between 1.0.3 and 1.1.0:
--------------------------------
 * Add - Firmware: Aperiodic variable service:
            -> RP_DAT_RQ1/RP_DAT_RQ2
            -> ID_RQ1/ID_RQ2
            -> RP_RQ1/RP_RQ2
 * Add - Library: Aperiodic variable service:
            -> pwrfip_varidlist_aper_request()
            -> pwrfip_varlist_aper_request()
            -> pwrfip_var_aper_channel_purge()
 * Add - Library: SM-MPS variables support:
            Note: Automatically managed by the library
            -> Identification (0x10XY)
            -> Report (0x11XY)
            -> Presence (0x14XY)
            -> Presence Check (0x9002)
            -> BA Synchronization (0x9003)
 * Add - Library: Structure(s):
            -> struct pwrfip_node_ident_cfg
 * Update - Library: Structure(s):
            -> struct pwrfip_node_ba_cfg
               (add: .priority field)
            -> struct pwrfip_node_cfg
               (add: .ident and .pwrfip_ba_sync_handler fields)
            -> struct pwrfip_var_cfg / struct pwrfip_var
               (add: .user_ctx field)
 * Add - Tools: pwrfip_2sta:
            -> Presence test during the macrocycle's aperiodic variable window
            -> Test of aperiodic variable lists requested by the node address 0
 * Add - Tools: pwrfip_2sta/pwrfip_performance: fip bitrate input parameter [-b]

Release date:               19-10-2021
Software versions:
    firmware                0.9.0
    driver (linux)          1.1.0
    driver (windows)        1.1.0
    library                 0.8.0
    tools:
        pwrfip_2sta         1.1.0
        pwrfip_performance  1.0.4

Changes between 1.0.2 and 1.0.3:
--------------------------------
 * Add - Drivers(Win/Linux): MSI support [prevent shared interrupts]
 * Add - Driver/Library(Win): Mailboxes processing inside the driver
 * Add - Library: High thread priority for internal thread (dev_irq_handler)
 * Add - Tools: session stats (event duration + occurrence) +
                realtime priority level (proc priority class)
 * Update - Driver/Library: pwrfip_dev_infos structure (add: device index)
 * Update - Tools: pwrfip_2sta: Remove aperiodic variable reading [0x8322] 
                   [not yet supported by coprocessor]
 * Fix - Tools: pwrfip_2sta: Remove printf inside the event loop
                   [may cause disruptions in processing times]

Release date:               21-09-2021
Software versions:
    firmware                0.8.1
    driver (linux)          1.1.0
    driver (windows)        1.1.0
    library                 0.7.2
    tools:
        pwrfip_2sta         1.0.3
        pwrfip_performance  1.0.3

Changes between 1.0.1 and 1.0.2:
--------------------------------
 * Update - Tools: pwrfip_2sta: Remove aperiodic variable request 
                   [not yet supported by coprocessor]
 * Update - Tools: pwrfip_2sta: Decreases the refreshment and promptness frequencies
                   for the variables IDs 0x8426 and 0x8427 [16ms -> 20ms]
 * Fix - Tools: Time measurement for win os (get_elapsed_us)
 * Fix - Tools: Disable colorization for win console that do not support it

Release date:               11-08-2021
Software versions:
    firmware                0.8.1
    driver (linux)          1.0.0
    driver (windows)        1.0.0
    library                 0.7.1
    tools:
        pwrfip_2sta         1.0.2
        pwrfip_performance  1.0.2

Changes between 1.0.0 and 1.0.1:
--------------------------------
 * Add - Drivers Win: First version
 * Add - Lib: Windows 10 support
 * Update - Tools: Windows 10 support
 * Update - Packages/Linux/Win: Add powerfip shared library (so, dll)
 * Update - Docs: Windows installation
 * Update - Firmware: Minor fixes

Release date:               04-08-2021
Software versions:
    firmware                0.8.1
    driver (linux)          1.0.0
    driver (windows)        1.0.0
    library                 0.7.1
    tools:
        pwrfip_2sta         1.0.1
        pwrfip_performance  1.0.1

1.0.0: First Version
--------------------------------
Release date:               05-07-2021
Software versions:
    firmware                0.8.0
    driver (linux)          1.0.0
    library                 0.7.0
    tools:
        pwrfip_2sta         1.0.0
        pwrfip_performance  1.0.0
