Commit Graph

  • d36bf3230b Minor fix: - SelectableCore: - Bug fix: Incorrect handle passed to Select for RemoteClient Charl Wentzel 2018-11-04 19:02:01 +02:00
  • d18e046e57 Important Update: - SelectableCore: - Bug fix: correct ConnectTypeNames - Pass handle reference to Select when adding file discriptor. - Rename Select vars Handle -> SelectHandle - Show type and name of handle on Select logs Charl Wentzel 2018-11-04 17:31:12 +02:00
  • 12a8ddb7ba Important Update: - JSONparseCore: - Allow JSON to be parsed from string data - DataTreeCore: - Allow GetMember to work with now path, ie. return BaseMember param Charl Wentzel 2018-10-28 22:36:31 +00:00
  • 22a05ebd4e Important update: - Bug fix: Set constant default address/port values for LinePrinter, TCPserver & TCPclient Charl Wentzel 2018-10-23 11:44:38 +01:00
  • 4ec1dc6cd7 Important Update: - Add Resolve Delay, allow time delay before resolving address Allow completion of other actions before blocking all to getaddr() - Remove Handle->KeepAlive, assume always true Charl Wentzel 2017-12-10 21:39:55 +02:00
  • 75dec370f7 Minor Update: - Fix log error on port close Charl Wentzel 2017-12-07 06:47:40 +02:00
  • 2c998ac7af Minor fix: - Rename SOAP param: AutoMange/CloseDelay -> AutoManage/CloseTimeout Charl Wentzel 2017-12-06 11:10:11 +02:00
  • 7c33c9dbc7 Important Update: - SelectCore: - Bug fix: only remove handle from read/write list if different function Charl Wentzel 2017-12-06 09:56:28 +02:00
  • 7f39f8b985 Important update: - SelectableCore: - Rename methods: SetSerialPortConfig() -> WriteSerialConfig(), GetSerialPortConfig() -> ReadSerialConfig(), InputHandle() -> OutputHandle(), ProcessBuffer() -> ProcessInputBuffer() SetPortHandle(config)() -> SetSerialHandle(Config)() - Rename serial port identification: "Port" -> "SerialPort" - Update logs accordingly - Add LinePrinter Port - Add to LoadConfig() - Add SetLinePrinterHandle() & OpenLinePrinterPort() methods - Add handling for open/read/write/close events - Add CloseDelay for AutoManage (non-persistent) ports - Rename handle timer: ReopenStart -> LastAction - Reset timer on all open/read/write/close events - Check for Close timeout in Process() and close port - Remove CloseChildren parameter on Close() method - Add QuickReopen parameter to Close() method - SelectCore: - Overwrite existing handle - not yet removed - Handle In/Out baudrate on serial port separately Charl Wentzel 2017-12-06 08:43:25 +02:00
  • 3eaf0853fb Important Update: - SelectableCore: - Move Serial port config params to Port/SerialConfig - Only configure serial port if config setting provided in JSON file - Add SerialConfig param to THandle struct, set when serial config given - Rename method: ConfigureSerialPort() -> SetSerialPortConfig() - New method: GetSerialPortConfig() read serial port config into Handle - Split method SetPortHandle(): - SetPortHandle() - only set port type and address - SetPortHandleSerial() - only set serial port parameters Charl Wentzel 2017-12-01 10:56:48 +02:00
  • 15e6d5a645 Important Update: - SelectableCore: - Simplify Handle AutoManage logic - Bug fix: AutoManage fail to open (WaitingToOpen) if no data written Charl Wentzel 2017-11-29 12:51:29 +02:00
  • 92ce01a3b7 Important Update: - JSONparseCore: - Bug fix: Incorrectly terminated PrintString on null - SelectableCore: - Add BaudRate, DataBits, Parity, StopBits, FlowCtrl, DataWait to THandle - Include Serial Port setup in SetPortHandle() - Read Serial Port config in LoadConfigData() - Rename SetSerialConfig() -> ConfigureSerialPort() - Configure Serial Port immediately after opening port Charl Wentzel 2017-11-29 11:30:05 +02:00
  • 89123fa4af Important Update: - SelectableCore: - Split SetBuffers() into SetInBuffer() and SetOutBuffer() - Rename SerialConfig() -> SetSerialConfig() - Add serial port configuration (eg. baudrate) to ConfigData - Read only no of bytes reported by FIONREAD - DataTree: - Bug fix: Create Int/Float/Bool params if requested Charl Wentzel 2017-11-28 18:35:05 +02:00
  • 4ed36809b8 Important update: - Detect serial port disconnect/close Charl Wentzel 2017-11-27 18:48:41 +02:00
  • d123b6ceeb Merge branch 'WatchdogCore' Charl Wentzel 2017-11-21 11:43:38 +02:00
  • 3eee39611f Minor update: - LiteProtocolCore: - improve error logging Charl Wentzel 2017-11-21 11:42:42 +02:00
  • 4c6f971a7d Important update: - Bug fix: start/end char for Watchdog protocol Charl Wentzel 2017-11-21 11:40:30 +02:00
  • 9f7e1b486e Important Update: - SelectableCore: - Split handling of Handle from Input() to InputHandle() method - Allow multiple handles to be connected to single Channel - Update logs to report Handle, not Channel name - TimingCore: - Convert all functions to inline functions in header (remove .cpp file) - Add new function TimeLeft() - WatchdogCore: - Bug fix: No watchdog channel, use InputHandle() method not Input() - Bug fix: ping ignored, use To:"watchdog" in ping command Charl Wentzel 2017-11-21 10:15:26 +02:00
  • c023cec697 Important update: - Bug fix: Error when writing to closed socket Charl Wentzel 2017-11-20 15:32:21 +02:00
  • c1b111e196 Important Update: - DataTree: - Allow to read Null/String/Int/Float/Bool as anyone of the other types, except Array/Object Charl Wentzel 2017-11-20 07:41:51 +02:00
  • 7ef3d71af9 Important Updates: - FunctionCore: - Output() returns largest no of bytes written to linked input - SelectableCore: - Auto-manage: - Add AutoManage param -> Persistent - Will automatic open port if written to when Auto-Manage enabled - Will keep port open (re-open if closed) if Persistent = true - DNS resolve: - Set AddressFailed if port could not open/bind - Only use next resolved address if current address failed Charl Wentzel 2017-11-18 17:06:32 +02:00
  • abba077ed0 Important Update: - SelectableCore: - Skip IP address "0.0.0.0" when resolving localhost Charl Wentzel 2017-08-28 13:17:19 +02:00
  • 4af8f529c9 Minor Update: - DateTimeCore: - Change default separators for date/time, allow no separators - JSONparseCore: - Bug fix: Output escape sequences in Hexadecimal Charl Wentzel 2017-08-23 18:03:11 +02:00
  • 5f5e89e7cd Important update: - EventBufferCore: (new) - Defines Events and related functions - Defines Event Buffer - ItemBuffer: - Specify "Keep" parameter for Delete, to override CopyEntries Charl Wentzel 2017-08-21 20:51:10 +02:00
  • 2830b8dd6d Important Bug fixes: - Remote Client connect not working properly - Set Client Port no on connect - Correctly handle create failure - Show error on fail - Input() fail to transfer data if Handle & Channel not same name - Search for linked handles Charl Wentzel 2017-08-18 09:12:55 +02:00
  • 18b487cbdd Minor Update: - JSONparseCore: - Simplify & correct PrintObject() and PrintArray() logic Charl Wentzel 2017-08-18 05:21:09 +02:00
  • 01845022a1 Merge branch 'Connect' Charl Wentzel 2017-08-17 14:41:09 +02:00
  • a209065386 Minor Update: - SelectableCore: - Rename struct Handle parameters: Address -> IPaddress, PortNo -> PortName Charl Wentzel 2017-08-17 14:23:45 +02:00
  • 8fd04dc9e2 Important Update: - CItemBuffer: - Rename CItemBufferCore -> CItemBuffer - Add item count and GetCount() method - Bug fix: Reset LastItem on DeleteAll() - TimingCore: - Bug fix: Handle buffer overflow on 32-bit processors Charl Wentzel 2017-08-17 10:56:10 +02:00
  • 2b7c49d5bb Important Update: - DataTreeCore: - Add Parent & Prev Child links to DataMembers - Update CreateMember() to set Parent/Sibling reference & increase Parent->Len - Remove AddMember() - Update DestroyMember() to decrease Parent->Len - JSONparseCore: - Update ParseArray() for above changes made to DataTreeCore Charl Wentzel 2017-08-11 15:42:59 +02:00
  • 73743060a0 Minor Updates: - DataTreeCore: - Correct calculation of length in SetValue() Charl Wentzel 2017-08-10 21:17:32 +02:00
  • c9244555ec Important update: - LiteProtocolCore: - Bug fix: NewCommandStr() cannot shrink CommandStr on CreateCommand - Bug fix: AppendParam() cannot pass NULL string value Charl Wentzel 2017-08-06 12:32:14 +02:00
  • ade3c10a1a Important Update: - DataTreeCore: - Add GetLen() method to get length of (text) value - FileCore: - Minor fix: rename MaxLen -> Len Charl Wentzel 2017-08-02 03:38:37 +02:00
  • 983a0c5002 Bug fix: - Included string.h on FunctionCore.h Charl Wentzel 2017-08-01 08:56:50 +02:00
  • e71157b9ec Important Update: - ApplicationCore: - Rename ConfigParser -> JSONparser - Make JSONparser a public parameter - DataTreeCore: - Bug fix: Insufficient memory allocation on SetValue if Len = -1 Charl Wentzel 2017-07-29 12:45:45 +02:00
  • b7033bea81 Minor update: - DataTreeCore: - Bug fix: Return Default value on GetStr() if not found or created Charl Wentzel 2017-07-28 06:46:33 +02:00
  • a9d9401b96 Minor updated: - FunctionCore_not_used: - Started work on queued channel buffers or processing buffers - Incomplete and temporarily abandoned due to time constraints - Renamed modified FunctionCore -> FunctionCore_not_used Charl Wentzel 2017-07-26 10:41:04 +02:00
  • 3e0ff00dbe Important Update: - ItemBufferCore: - New Class for storing items in a FIFO style buffer - FunctionCore: - Implemented pulled input: - Function creates static output: StoredOutput & StoredOutputLen - Other Function pulls static output from input linked functions - FunctionCore-ChannelBuffer: - Tried to create a processing buffer - Abandoned for now Charl Wentzel 2017-07-24 16:33:01 +02:00
  • 2f81d1fbbe Important Update: - Library Clean up: - Removed all unused C/C++ libraries from source - First C/C++ libraries then redA libraries - Library changes: - renamed BufferCore -> CharBufferCore - added ItemBufferCore - CharBufferCore: - Derive RollingBuffer & ShiftBuffer from common class CharBuffer - CharBuffer is mostly a virtual class (interface) Charl Wentzel 2017-07-22 17:46:05 +02:00
  • aaf3c59727 Important Updates: - DataTreeCore: - Allow types float, int & bool to be read as strings with GetStr() - LogCore: - Add comments to Logging parameters - WatchDogCore: - Call CSelectableCore::Process() in Process() to manage connect - SelectableCore: - Allow SetSocketHandle() to be called if Handle already set as socket - added strlcase() method to convert string to lower case - Update Handle structure: - renamed Address -> HostName - renamed PortNo -> PortName - added AddressList for all resolved addresses - added AddressInfo for active address - Add ResolveAddress() method - Domain name and protocol port resolving with GetAddrInfo() - JSON updated: - domain name can be provided instead of IP address - protocol can be specified instead of Port No, e.g. "HTTP" / "SSH" - Resolve address before connect, or use next resolved address Charl Wentzel 2017-07-22 09:40:17 +02:00
  • c32875509d Minor updates: - JSONparseCore: - Set File mode on create - SelectableCore: - Check pipe() return value on create - Validate replacement of stdin with pipe Charl Wentzel 2017-07-17 22:51:30 +02:00
  • 9b86bf3573 Important Update: - CApplicationCore: - Run() returns false if error on any Process() call - Add TerminateOnError param to Run() method, - if set, exit immediately if Process() on any process fails - if not set, exit after Process() on all processes - Remove "Terminating..." log Charl Wentzel 2017-07-17 07:18:52 +02:00
  • c90cb7b0f4 Minor updates: - FunctionCore: - Do not auto create empty channel list - SelectCore: - Rename method: SetDebugLevel() -> LogLevel() - SelectableCore: - Do not auto create empty handles list Charl Wentzel 2017-07-16 23:30:09 +02:00
  • 434377f122 Major Update: - Implement new ApplicationCore: - Manage Tools: Log, DataTree, JSONparser & Selector - Load configuration, Manage FunctionBlocks - FunctionCore & dirived classes, SignalCore: - affects: SelectableCore, DeviceCore, FileCore, WatchdogCore - Do not pass Log() - Define and pass Type - Update/reduce included headers - Use ProcessName and Application global vars - Get Log, DataTree from Application - Use virtual Init() function to set must have Channels/Handles - DataTreeCore: - Bug fix: Check if child members exist and destroy in SetValuePtr() - Add method GetFirstChild with BaseMember & Path - Bug fix: do not use RootMember if no Parent in GetChildxxx() methods - SignalCore, SelectCore: - Use Application->Log() - FunctionCore: - Add itself to Application (function list) - Add parameter: LinkConfigMember, Type - Use virtual LoadConfigData() to configure from DataTree - Rename methods: LoadConfig() -> InitConfig(), InitLogging() -> SetLogParam(), SetDebugLevel() -> SetLogLevel() - Add method: GetType(), LoadChannelLinkData(), InitChannelLinks() - Modify LinkIn/OutputChannel() to use name for InFunction, not pointer - SelectableCore & Dirived classes: - Affects DeviceCore & WatchdogClient - Rename parameter: Select -> Selector, BaseMember -> ConfigMember - Get Selector from Application->Selector - Change Handles JSON structure from Array to Key:Value pairs - Bug fix: check if Selector exist during Input() - Bug fix: do not set PortNo if not exist Charl Wentzel 2017-07-16 20:29:01 +02:00
  • 8933ec1ae6 Important Update: - FunctionCore: - Fix Memory Leaks: - Recreate Name in LoadConfig() - Setting FirstChannel to NULL in LoadConfig() - Fix fault on empty Log/Output in LoadConfig() - Check if Log/Level exists in LoadConfig() - Do not auto-create all config parameters - SelectableCore: - Fix Memory Leaks: - Setting FirstHandle to NULL in LoadConfig() - Do not auto-create all config parameters - Update logs to specifically refer to "TCP" server/client Charl Wentzel 2017-07-12 06:19:06 +02:00
  • 3f86de71b1 Major update: - DataTreeCore: - Bug fix: GetMember() error if member not found - FunctionCore: (affected: SelectableCore, FileCore, WatchdogCore) - Made destructor virual - Standardize method parameter naming, e.g. pName, pLog - Renamed parameters: DebugLevel -> LogLevel, OutputDisplay -> LogOutput - Reinstated parameter BaseMember - Removed logging parameters from constructor - Created method InitLoggging() (shows "Function Created" message) - Split LoadConfig() method into parts: - Implemented public LoadConfig() methods - Implemented LoadConfigData() method, load parameters from DataTree - WatchdogCore: - Derive from CSelectableCore instead of CFunctionCore - Rename parameter: PingTimeout -> PingInterval - Replace Ping Channel with Handle only - Add method SetInterval() - Send command direct to handle with (channel) Input() - SelectableCore: - Rename parameters: Auto -> AutoManage, ReopenTimeout -> ReopenDelay - Implemented own virtual LoadConfigData() method - DeviceCore: - Made all logging conditional: if (Log) Log->Message(...) - SelectCore: - Renamed parameters: DebugLevel -> LogLevel Charl Wentzel 2017-07-11 06:20:14 +02:00
  • b7ed169730 Major Update & Bug fixes: - FileCore: - Replace dlNone -> dlLow - Remove temporary code used by CBaslerCamera - Function Core: - Add method SetDebugLevel() - Remove global parameter BaseMember; - JSONparse: - Print Bool parameters as true/false, not 1/0 - SelectCore: - Add method SetDebugLevel() - SignalCore: - Replace dlNone -> dlLow Charl Wentzel 2017-07-09 16:31:47 +02:00
  • b900d735b9 Important update: - Used new core protocol function to create command - Bug fix: use correct sequence: From, To, Command Charl Wentzel 2017-07-08 22:39:32 +02:00
  • 4802452a7c Important Update: - CLiteProtocol: - Set input string on methods to const char * - Simplify checking for verification - Ensure Length parameter can be left out on all methods - Add quick functions for structured commands: To, From, Command - CLogCore: - Use only "\n", not "\r\n" - SignalCore: - Use std::endl instead of "\r\n" Charl Wentzel 2017-07-08 22:23:50 +02:00
  • 0c20103c9c Merge branch 'master' of /home/development/source/core/redAcore into WatchdogCore Charl Wentzel 2017-07-05 18:21:27 +02:00
  • d013078c1f Bug fixes: - Remove LogStr var - Create new Command Str before adding parameters - Set Watchdog name correctly Charl Wentzel 2017-07-05 18:20:29 +02:00
  • 812677615d Merge branch 'master' of /home/development/source/core/redAcore into WatchdogCore Charl Wentzel 2017-07-05 17:20:13 +02:00
  • b6a7969894 Merge branch 'master' of /home/development/source/core/redAcore into InterAfrica Charl Wentzel 2017-07-05 17:16:51 +02:00
  • 1b64fd17f9 Minor update: - BufferCore: - Add Overwrite parameter for ReadFromFD - Bug fix: ReadFromFD MaxRead size - SignalCore: - ProcessName is external pointer Charl Wentzel 2017-07-05 17:16:29 +02:00
  • 168253acbc Merge branch 'master' into WatchdogCore Charl Wentzel 2017-07-05 17:08:43 +02:00
  • 04edaf6e34 Major update: - Add CWatchdogCore component. Sends ping to watchdog server Charl Wentzel 2017-07-05 17:06:31 +02:00
  • 748b62d235 Important Update: - SelectableCore: - Made GetType() & GetState() public methods - Update logs in Input() - FunctionCore: - Add Input/OutputEnabled parameters with Get/Set methods. - Update logging in Input() and Output() - Check if input/output enabled in Input() and Output() Charl Wentzel 2017-07-05 10:59:24 +02:00
  • c50d920f94 Important update: - Log signals direct to StdErr if no Log instance - Bug fix: ProcessName is external pointer, not literal Charl Wentzel 2017-07-01 12:07:34 +02:00
  • 706cd9caf6 Bug fix: - Validate File Path and add '/' when saving JSON file Charl Wentzel 2017-06-22 17:21:28 +02:00
  • 9677052042 Important Update: - Bug fix JSONparseCore: Allow for blank path in file name - Added new Class LiteProtocolCore for basic protocol Charl Wentzel 2017-04-30 17:32:19 +02:00
  • ee29625b9a Important update: - DataTree->GetStr return Member->Value or NULL if not found - Rename DeviceCore EDataType to EMBDataType, avoid conflict with JSONpaser - Add DataTree to FunctionCore with LoadConfig() method - Change ProcessName to char * (from char[]) - JSONparse: - Rename RootPath to BasePath on all methods to reduce confusion - Allow FilePath to be NULL, add '/' if not present - Fixed Parsing sequence in ParseObject & ParseArray Charl Wentzel 2017-04-10 21:33:14 +02:00
  • 9b42d516a1 Important Update: - Implemented basic child element navigation: GetFirstChild(), GetNextChild(), GetIndexChild() - Bug fix: Faulty name comparison using length Charl Wentzel 2017-04-06 06:56:03 +02:00
  • 23db2539d9 Important Update: - Bug fix: Create wrong member name because not zero terminated - Bug fix: Only create array element if brackets empty Charl Wentzel 2017-04-06 05:35:30 +02:00
  • 200f7e1f8b Important Update: - Improve "printing" for JSON with single & multi line objects - Fix bugs in getting, setting & creating array elements - "array[]" allowed to create/add element at end of an array - No longer duplicate get() path (reduce memory allocation) - added NameLen to TMember to eliminate zero-terminate requirement - Fix ReadfromXXX() return values Charl Wentzel 2017-04-05 08:07:53 +02:00
  • 66fc4bc123 Important Update: - Bug fix: incorrect memory allocation in SetValue() - Implement conversion of escaped chars during parsing - Implement escaping chars during printing Charl Wentzel 2017-04-03 21:48:29 +02:00
  • 2e2ba113f1 Major Update: - Update printing: Do not use '\n' if indent = 0 - Implement refilling of buffer (from fd) while parsing - No longer use LineMark, but keep track of char position with CharNo - Use Mark to reference point for shifting buffer on refill - SkipWhiteSpace no longer inline method - Refill buffer if required, change Mark & CharNo on line break - CreateBuffer(), RefillBuffer() & FreeBuffer() now public methods - Make Loading and Saving more flexible: - Refactor from LoadFromFile(): ReadFromFile(), ReadFromHandle(), ReadFromBuffer() - Refactor from SaveToFile() & PrintToScreen: WriteToFile(), WriteToScreen, WriteToHandle() Charl Wentzel 2017-04-02 19:44:44 +02:00
  • 8f39adb0f3 Important update: - Buffer: - fix undefined value: zero terminate buffer when loading from FD - DataTree: - fix memory leak: destroy temporary search path - improve delete(): delete all children for member if no path given - bug fix: initiate object with 0 length (not -1) - JSONparse: - Remove level parameter - Add path to load/save/print methods (print only portion of tree) - fix memory leak: destroy temporary object name Charl Wentzel 2017-03-29 21:27:28 +02:00
  • 5691b22df9 Minor Update: - Pass printf Mask for Int/Float values on Get/Set methods - On GetValue use mask for default value - Add SetArray() method - Bug fix: Incorrect malloc size in SetValue() - Bug fix: Len not calculated if -1 passed to SetValue() - Set default value for Len = -1 on SetValue() methods - Don't pass Len to SetValue() unless required Charl Wentzel 2017-03-27 04:29:11 +02:00
  • a22f60b152 Major Update: - Bug fix: BufferCore - set correct auto buffer size - Change Get/Set methods to use BaseReference and full path instead of ParentPath and MemberName - Add Create param to all Get methods (create if not found) - Implement arrays & parsing of arrays - Set CJSONparse as friend class to DataTree (access protected methods) - Print JSON to screen Charl Wentzel 2017-03-26 22:26:52 +02:00
  • b823bd7ea7 Important Update: (incomplete) - Split CConfigCore into two classes: - DataTreeCore.h - Tree data structure and access - JSONparseCore.h - JSON parsing functionality - Renamed TConfigParam struct to TDataMember - Renamed most of CDataTreeCore methods Charl Wentzel 2017-03-23 20:53:32 +02:00
  • ad4d8e8b5f Important update: (untested) - Switch from FILE pointers to file descriptors (e.g. fopen() -> open()) - Replace internal buffer with CShiftBuffer Charl Wentzel 2017-03-23 13:21:21 +02:00
  • 5b4e6822c7 Bug fixes: - Fixed bugs on CRollingBuffer and CShiftBuffer - Remove "virtual" from methods declarations - Correct validation checks on methods - Use memmove to shift data in ShiftBuffer - Initialise buffer in RollingBuffer - FindStr() -> Return start position of match - Fix incorrect params passed to Peek()/PeekCopy() in Pop()/PopCopy() - Fix endless lopp in RollingBuffer::Push() Charl Wentzel 2017-03-22 07:52:58 +02:00
  • b5763d7f50 Major Update: (compiling but untested) - Replace CBuffer with CRollingBuffer and CShiftBuffer ShiftBuffer is faster and simpler and always zero terminates - Updated SelectableCore to use RollingBuffer - Add Overwrite parameter to Push() and ReadFromFD() methods - Add PeakDirect() method for fast direct access to buffer Charl Wentzel 2017-03-22 03:43:29 +02:00
  • bb07ef63bf Important Update: (ConfigCore) - Implemented full support for multi-layer objects - Implemented RootObject for all other elements - Added method CreateParam() - Converted GetParam methods from inline to normal methods - Added GetParent method - Use Object->Len to count no of child objects Charl Wentzel 2017-03-18 23:03:51 +02:00
  • 508cf0fb0d Important Update: (incomplete) - Implemented JSON type NULL - Implement dynamic buffer - Split parsing int separate re-usable methods - Implement basic parsing of an object - Add GetError() method - Add SkipWhiteSpace as inline method - Make parsing variable private attributes - Improve checking when getting parameters Charl Wentzel 2017-03-15 04:29:01 +02:00
  • 9b180c77f5 Important Update: - Added new Class: ConfigCore (Working but incomplete) - Provides basic parameter listing (bool, int, float, string) - Read/writes parameters from/to file - Support JSON format for key-value pair primitive and strings values - Support for objects and arrays to follow Charl Wentzel 2017-03-08 04:05:26 +02:00
  • f57b340be6 Merge branch 'master' of /home/development/source/core/redAcore into BaslerCamera Charl Wentzel 2017-03-04 22:08:56 +02:00
  • 9c338715db Merge branch 'master' into JoaneControl Charl Wentzel 2017-03-04 21:51:42 +02:00
  • e50ef57b47 gMerge branch 'JoaneTelemetry' Charl Wentzel 2017-03-04 21:44:53 +02:00
  • ae95602f64 Important update: - Bug fix: make DateTimeCore functions linkable by using it in CLogCore - CLogCore: - Rename FileOutput -> OutputFile - Add DateTimeStr to Output if FileNo > 3 Charl Wentzel 2017-03-04 21:44:39 +02:00
  • e35ba3f024 Merge branch 'JoaneTelemetry' Charl Wentzel 2017-03-03 18:20:25 +02:00
  • 02b43fe6b8 Important update: - Add new DateTimeCore file - Provides functions to get/set system date - Create Date, Time and Date/Time string with custom separators Charl Wentzel 2017-03-03 18:00:44 +02:00
  • 2d9faa7fa6 Important Update: - Add GetValue/SetValue commands for Device command interface - Bug fix: use case compare on searches Charl Wentzel 2017-03-02 12:31:50 +02:00
  • 92db4da7de Importnant update: - Add callback functions for change in socket states Charl Wentzel 2017-02-16 03:12:18 +02:00
  • d4ee138da8 Update in progress: - Started work on Set/Get commands for DeviceCore Charl Wentzel 2017-02-16 03:02:18 +02:00
  • 6d810e33ba Merge branch 'JoaneControl' - additions for pipe control - correction to display signed parameters correctly Charl Wentzel 2017-02-08 08:45:59 +02:00
  • 5c2d7d4b51 Bug fix: - Display signed parameters correctly Charl Wentzel 2017-02-08 08:44:30 +02:00
  • c2acb4b77d Minor updates: - CSelectableCore: - Allow ForkPipeHandle to change ExecPath - Remove parent/child process test comments - Move FD operations methods from private -> public Charl Wentzel 2016-10-24 17:53:50 +02:00
  • 47577e9f4c Major Updated: - Added new CDeviceCore Class - Methods and structures moved from CModbusInterface - Keep track of Devices and DeviceParameters - Provides methods & parameters related to polling process - Provides parameter events Charl Wentzel 2016-09-07 08:49:58 +02:00
  • 7564e6a288 Major update: - Rename Function LocalIO -> Channel (Parameters & Methods) Charl Wentzel 2016-08-23 13:19:43 +02:00
  • 5ea05d119e Major update: - Logging - Created LogCore Class - Updated LogCore to use file descriptors instead of stdout - Add Log object reference to constructors for: FunctionCore, SelectCore - Use extern Log() object in SignalCore - SelectableCore - Added new connection type: ForkedPipe Create pipe, fork process, connect pipe out to child stdin, exec Charl Wentzel 2016-08-22 12:14:53 +02:00
  • eaace97ec9 Minor Update: - BufferCore: - Method WriteToFD should ignore EAGAIN - LogCore: - Add OUT_COUNT output bit (show total output bytes) - SelectableCore: - Add Force param on WriteToFD, ignore EAGAIN if !Force Charl Wentzel 2016-07-27 13:42:50 +02:00
  • 1a9f825b25 Major Update: - Minor fix: Set correct names in comments at top of file - New FileCore Class: - Writing data to output file - BufferCore: - Check for "EAGAIN" on write and retry write - FunctionCore: - Add new Output method that references LocalIO directly - SelectableCore: - New method SetAutomanage to specify auto re-open parameters - Re-open timer implemented to slow re-open events - Only call ProcessBuffer() if data received on socket - Force processing input data when no input marker set - Use new Output method to simplify code - Bug fix: Read correctly from buffer on multiple reads/writes on FD - Check for "EAGAIN" on write to FD and retry write Charl Wentzel 2016-07-20 09:37:25 +02:00
  • 6fee4d0eac Important Update: - BufferCore: - Added PeekCopy and PopCopy methods - SelectableCore: - Add status checking of Handle on Read and Write - Reject input if Handle not open - TimingCore: - Added method ClearStartTime Charl Wentzel 2016-07-06 15:17:10 +02:00
  • 1ced40260d Minor Update: - Added Output on Function Output events Charl Wentzel 2016-06-15 12:03:15 +02:00
  • b418fa73e0 Important Update: - LogCore: - Removed global DebugLevel var, now passed as parameter - Implemented binary output values - FunctionCore, SelectCore and SelectableCore: - internal DebugLevel param implemented - new internal DisplayOutput param (Normal/Hex/Bin) - BufferCore: - Bug fix: allow for empty search string/marker Charl Wentzel 2016-06-09 06:53:09 +02:00
  • 13b0a4736c Minor Update: - Use Timeout function in SelectableCore Charl Wentzel 2016-06-02 13:44:30 +02:00
  • ac34066f30 Important Update: (Massive CPU usage improvement) - Bug fix: Select timeout not constant, reduces to zero - Only scan FDs if Select event occured Charl Wentzel 2016-06-02 12:38:47 +02:00
  • 630583bbc6 Minor Update: - BufferCore: Set BufSize as class constant - TimingCore: Add new function Timeout() Charl Wentzel 2016-06-02 09:36:08 +02:00
  • 59facdf1bd Important Update: - Ingore SIGPIPE event, ie. writing to socket after it closed Charl Wentzel 2016-06-01 06:58:48 +02:00