Developer(s) | Boian Mitov |
---|---|
Initial release | August 31, 2001 |
Stable release | 8.0.0.100 / December 6, 2023 |
Written in | Delphi |
Operating system | Windows, Android, macOS, iOS, Linux |
Platform |
|
Size | 712 MB |
Type | Libraries |
License | Free and open-source, requires attribution [1] |
Website | www |
OpenWire is an open-source dataflow programming library that extends the functionality of Embarcadero Delphi and C++ Builder by providing pin type component properties. The properties can be connected to each other. The connections can be used to deliver data or state information between the pins, simulating the functionality of LabVIEW, Agilent VEE and Simulink. OpenWire is available for Visual Component Library (VCL) and FireMonkey (FMX). [2]
The project started in 1997 as an attempt for visual design of text parsers. Later it was used for designing signal processing libraries, and was expanded to support any data type.[ citation needed ]
Pins form the connections between the components. OpenWire defines 4 types of pins:
SourcePin
usually provides data. Can connect to one or more SinkPins
and to one StatePin
.SinkPin
usually receives data. Can be connected to one SourcePin
.MultiSinkPin
usually receives data. Can be connected to one or more SourcePin
.StatePin
usually is used to share state between components. Can be connected to one or more StatePins
or SinkPins
, and to one SourcePin
.Pin lists can contain and group pins. OpenWire defines 2 types of pin lists:
PinList
contains pins but is not responsible to create or destroy them.PinListOwner
contains pins and is responsible to create or destroy them.Two pins in OpenWire can connect and exchange data only if they support compatible data types. Each pin can support one or more data types. The data types are distinguished by GUID unique for each data type.
The latest version of OpenWire supports automatic data conversion. If two pins can't connect directly due to incompatible data types, a data format converter can be used automatically to convert the data between the pins. The developers can create and register format converters associated with different data types.
OpenWire is designed as thread-safe and well suited for multi-threading VCL and FireMonkey component development.
The following is a rough outline of product release information.
Date | Version | Significant changes |
---|---|---|
August 31, 2001 | 1.2 | Official release. |
September 4, 2001 | 1.3 | Small fixes. |
November 21, 2001 | 1.4 | Minor changes. |
February 16, 2002 | 1.5 | Improved multiple data type per pin support. |
February 23, 2002 | 1.6 | Delphi 6.0 Support. |
April 14, 2002 | 1.7 | C++ Builder 6.0 Support. |
May 9, 2002 | 1.8 | Improved and cleanup release. |
April 13, 2003 | 2.0 | Added StatePin and dispatchers support. |
May 15, 2003 | 2.1 | Maintenance release. |
August 27, 2003 | 2.2 | Maintenance release. |
January 3, 2004 | 2.3 | Complex data type added. |
December 2, 2004 | 2.4 | Added multithreading support. Delphi 2005 support. |
June 22, 2005 | 2.5 | Improved Multithreading. |
February 22, 2006 | 2.6 | Minor improvements. |
January 4, 2007 | 3.0 | Added support for add on editors(Graphical). |
October 25, 2007 | 3.1 | Fixed loading from Frames. |
March 14, 2009 | 4.0 | Added Format Converters. Added Lazarus support for Windows, and Linux. |
September 23, 2009 | 4.3 | Added Delphi and C++ Builder 2010 support. |
May 7, 2010 | 4.5 | Added TOWMultiSinkPins. |
September 2, 2011 | 5.0 | Added Delphi and C++ Builder XE, XE2 and FireMonkey support. 64 bit compatible. |
October 1, 2011 | 5.0.1 | Maintenance release. |
October 11, 2012 | 5.0.3 | Added Delphi and C++ Builder XE3 support. Added initial MAC support. |
June 12, 2013 | 6.0 | Added Delphi and C++ Builder XE4 support. Dropped support for versions older than Delphi and C++ Builder XE2. Dropped Lazarus support due to lack of language features. |
April 13, 2014 | 7.0 | Added Delphi and C++ Builder XE5 and XE6 support. Dropped support for versions older than Delphi and C++ Builder XE3. Added Android support. |
November 13, 2014 | 7.5 | Added Delphi and C++ Builder XE7 support. Dropped support for versions older than Delphi and C++ Builder XE4. Redesigned to use the new free Mitov.Runtime library which significantly reduces the code. |
April 12, 2015 | 7.6 | Added Delphi and C++ Builder XE8, and XE8 support Dropped support for versions older than Delphi and C++ Builder XE4. |
October 26, 2015 | 7.7 | Added Delphi and C++ Builder 10 Seattle support |
May 1, 2016 | 7.8 | Added Delphi and C++ Builder 10.1 Berlin support |
December 21, 2018 | 7.8.2 | Added Delphi and C++ Builder 10.2 support |
April 28, 2021 | 8.0.0 | Added Delphi and C++ Builder 10.3 and 10.4 support |
October 11, 2021 | 8.0.0.36 | Added Delphi and C++ Builder 11.0 Alexandria support |
December 6, 2023 | 8.0.0.100 | Added Delphi and C++ Builder 12.0 Athens support |
A graphical OpenWire editor is under development. The latest version of the editor is available from the OpenWire Homepage.
Universal Serial Bus (USB) is an industry standard that allows data exchange and delivery of power between many various types of electronics. It specifies its architecture, in particular its physical interface, and communication protocols for data transfer and power delivery to and from hosts, such as personal computers, to and from peripheral devices, e.g. displays, keyboards, and mass storage devices, and to and from intermediate hubs, which multiply the number of a host's ports.
Components of an electrical circuit are electrically connected if an electric current can run between them through an electrical conductor. An electrical connector is an electromechanical device used to create an electrical connection between parts of an electrical circuit, or between different electrical circuits, thereby joining them into a larger circuit.
C++Builder is a rapid application development (RAD) environment for developing software in the C++ programming language. Originally developed by Borland, as of 2009 it is owned by Embarcadero Technologies, a subsidiary of Idera. C++Builder can compile apps for Windows, iOS, macOS, and Android. It includes tools that allow drag-and-drop visual development, making programming easier by incorporating a WYSIWYG graphical user interface builder.
The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.
Serial Peripheral Interface (SPI) is a de facto standard for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.
Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.
1-Wire is a wired half-duplex serial bus designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data communication and supply voltage over a single conductor.
The Video Graphics Array (VGA) connector is a standard connector used for computer video output. Originating with the 1987 IBM PS/2 and its VGA graphics system, the 15-pin connector went on to become ubiquitous on PCs, as well as many monitors, projectors and high-definition television sets.
JTAG is an industry standard for verifying designs and testing printed circuit boards after manufacture.
Borland Kylix is a compiler and integrated development environment (IDE) formerly sold by Borland, but later discontinued. It is a Linux software development environment based on Borland Delphi and Borland C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus IDE package, designed to be code-compatible with Delphi. As of 2010 the project has been resurrected in the form of Delphi cross compiler for Mac and Linux, as shown in the Embarcadero's Delphi and C++ Builder roadmap. As of September 2011 with Kylix discontinued the framework for cross-platform development by Embarcadero is FireMonkey.
A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in the source code, with no visual feedback until the program is run. Such tools are usually called the term RAD IDE.
Lazarus is a free, cross-platform, integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for programmers developing with the Object Pascal language, which is as close as possible to Delphi.
Open collector, open drain, open emitter, and open source refer to integrated circuit (IC) output pin configurations that process the IC's internal function through a transistor with an exposed terminal that is internally unconnected. One of the IC's internal high or low voltage rails typically connects to another terminal of that transistor. When the transistor is off, the output is internally disconnected from any internal power rail, a state called "high-impedance" (Hi-Z). Open outputs configurations thus differ from push–pull outputs, which use a pair of transistors to output a specific voltage or current.
Oxygene is a programming language developed by RemObjects Software for Microsoft's Common Language Infrastructure, the Java Platform and Cocoa. Oxygene is based on Delphi's Object Pascal, but also has influences from C#, Eiffel, Java, F# and other languages.
TeeChart is a charting library for programmers, developed and managed by Steema Software of Girona, Catalonia, Spain. It is available as commercial and non-commercial software. TeeChart has been included in most Delphi and C++Builder products since 1997, and TeeChart Standard currently is part of Embarcadero RAD Studio 12 Athens. TeeChart Pro version is a commercial product that offers shareware releases for all of its formats, TeeChart. Lite for .NET is a free charting component for the Microsoft Visual Studio .NET community and TeeChart for PHP is an open-source library for PHP environments. The TeeChart Charting Library offers charts, maps and gauges in versions for Delphi VCL/FMX, ActiveX, C# for Microsoft Visual Studio .NET, Java and PHP. Full source code has always been available for all versions except the ActiveX version. TeeChart's user interface is translated into 38 languages.
FireMonkey is a cross-platform GUI framework developed by Embarcadero Technologies for use in Delphi, C++Builder or Python, using Object Pascal, C++ or Python to build cross platform applications for Windows, macOS, iOS, and Android. A 3rd party library, FMX Linux, enables the building of FireMonkey applications on Linux.
USB-C, or USB Type-C, is a 24-pin connector that supersedes previous USB connectors and can carry audio, video and other data, e.g., to drive multiple displays or to store a backup to an external drive. It can also provide and receive power, such as powering a laptop or a mobile phone. It is applied not only by USB technology, but also by other protocols, including Thunderbolt, PCIe, HDMI, DisplayPort, and others. It is extensible to support future standards.
This page details the history of the programming language and software product Delphi.