Save one devices loop when handling a 2413 device. default tip

Version 0.9.20a2. Renamed one-wire struct resolution to rd_cache and added wr_cache. The rd_cache and wr_cache values are used by the DS2413. Added these values to the grid so we can see them live.

Much faster shutdown of the websocket service.

Made devices loop a bit slower.

Version 0.9.20a1. Analyse threads cpu usage. One-wire added a resolution flag to prevent continuous resolution checks, now only for new sensors and replugged known sensors. Added two 40 sSec delays in the state machine. In the panel thread moved a few locks so these expensive calls are called only when needed.

Different gettid() test

Added test for gettid()

Version 0.9.19

Log pid of each started thread so we can see which uses the most cpu time.

Fixed initial show instead of hide of the toggle switches. Block edit fermenter when the fermenter is in use.

In fermenter screen fix errors during page load.

Fixed updating PID parameters. Jqwidgets javascripts cleanup.

Removed some unused files

Last changes to fermenter.js (maybe). Simulator custom labels for the door switch. Some extra columns in the simulators grid.

Some javascript fixes and cleanup

Add new fermenter adds dummy yeast temperatures. Periodic thermferm unit logging adds the unit alias name. Added Green LED hide color. Moved getglobal.php to dbglobal.php. Adjusted several record types in global and fermenter javascript records so there is less guesswork. Only display control leds and switches for defined equipment.

Version 0.9.19b3. The simulator thread can be paused to be able to add and delete simulators. Added simulated door and PSU status. Devices can now fully use multiple simulators. Better rounding of simulated temperature values. The server SIMULATOR DEL and ADD commands pause the simulator when the linked list is manipulated. Fixed SIGSEGV when a simulator is added. Added socket SO_REUSEADDR again to the server socket.

Added device_present() function to easy update device present from one-wire and simulator devices. When a simulator temperature sensor present is changed, the device table is changed too. Controlling simulator relays is now for each simulator. The simulator runs under the state machine. If something changed in the running simulator, all data is broadcasted over websocket. Completed the web editor.

Version 0.9.19b2. Simulator redesign and it is now possible to run more then one simulator. All simulated devices have address names that include the simulator number. Added the setup screen for the most part. Not compatible with previous versions if a simulator was used, delete all simulators and simulated devices during stop and start.

It was impossible to remove devices from fermenters. Added beer_address2 device to the simulator.

Log marking device missing if a onewire devices goes away. Fixes in fermenters display. Added Present and Inuse columns in devices list.

Version 0.9.19b1. Less noisy logging.

Moved webcam scripts over to this www directory. Upgraded jquery to 2.1.1 (still old).

Removed old webpages from the repository

Version 0.9.19a6. Fixes after a short trial on the production controller. Fixed json for alternate beer termperature sensor. Fixed division by 1000 for the room temperature and humidity values. The dropdown list for devices shows the address instead of description in the list.

Version 0.9.19a5

Possible fix for large sockets messages.

Version 0.9.19a4

Finished save fermenter uit edit.

Fermenter editor layout is ready. Load record done. Add and Delete a new fermenter is done.

Drop fermenter volume setting.

Device Save implemented.

Added device delete

Added Add new device.

Finished global setup including Save.

The global settings screen added. No Save function yet.

Added web page to display the one-wire bus live status.

Final 0.9.19a3 change.

Version 0.9.19a3. Fixed segfault in onewire temperature measurement. Fixed json error in onewire device.

Version 0.9.19a2. Dropped TEMPSTATE[] and only use DEVPRESENT[] to mark devices state. Adjusted webpages for this switch in responses. Adjusted MySQL mon_fermenters enum values too. Rename some global Config records to better reflect their real use.Added one-wire json records and websocket. Announce when some onewire device changes. Add UNITS JSON command without parameter. Dropped global tempFormat setting that was never used.

Fixed two compiler warnings on arm platform

Version 0.9.19a1

Better handling of a removed DS18B20 temperature sensor.

Create global_json() for all and expanded the data to the complete setup. Added design for the global setup.

More copyright references.

Devices edit popup layout ready.

More work for devices list and editor.

Devices list grid added.

Updated dependencies. Devices json data is created in de devices source for all places where it is needed. Added devices_ws function to broadcast all devices, to be used when any device is changed. The devices loop detects changes in input values and calls devices_ws if so. The server uses the general devices json data.

Fixed fermenter switches in NONE mode. Som other small bugfixes.

Websocket ping/pong uses sequence numbers.

Minor details for server DEVICE commands. Added getdevice<s> php scripts.

Increased server buffersize from 1024 to 4096. Added DEVICE JSON <uuid> command. Added websocket response fermenter profile. The fermenter monitor screen is ready (maybe).

Added getglobal.php script

Better websocket broadcast messages. Added GLOBAL JSON command to the server. Better logic to trigger websocket and mqtt data updates for the fermenter units. Websocket receive added fermenter mode, stage, setpoints, switches. Added more css styles for the fermenter screen. Added the fermenter screen php and javascript.

Server json unit data list added

Add stylesheet, about page. Add menu for fermenters. Add websocket port setup to the config server.

Added websockets to thermferm. Started new www directory for websocket enabled web. The init script now waits until thermferm is completely stopped.

Code cleanup

Version 0.9.18

Only log temperature error once. Only log temperature Ok again once. Do not log changed temperature.

Finished one-wire ds2413 output

Stop logging ghost one-wire devices.

Reboot from the panel is now restart application. The restart is working again, also via bmsapp.

Upgraded MIGRATION document.

Removed lcd-buffer create logmessage. Combined Keys and Delay states.

Added commandline switch --foreground, the --debug now only activates extra debug logging. No more console output. The thermferm process uses a state table, this makes the code more readable and have less large functions.

Fermentation processing in it's own function.

Version 0.9.17a3. Prepare for thermferm state tables.

Updated MIGRATION document.

One-wire tread more relaxed logging.

Version 0.9.17a2. Disabled a lot of mutex locks, some are blocking and need to be fixed. This version seems to be working, more or less.

Version 0.9.17a1. Revised starting and stopping the threads. Fixed stopping the command server thread. Moved one-wire tempeature sensors resolution correction to the one-wire thread. The devices thread fetches temperatures from the one-wire thread. The one-wire thread does everything for the temperature sensors. The command server uses private sockets. Still, only one session at the same time is handled.

Added state to scan vanished one-wire devices. Update devices if a one-wire device returns on the bus.

Fix for compile with wiringPi

Read ds2413 moved to one-wire thread. Only reprogram if it is an input and programmed as output.

One-wire thread is now the first to start. The devices_detect() function now uses the detected one-wire linked list instead of scan the sysfs. Base code for ds2413 added in the state table, needs rework.

State machine logging only when debug is active.

Added one-wire thread and some old state table macro's. The state machine first state scans new one-wire devices and stores them in a linked list.

Version 0.9.17

Moved all delay functions into a new general file.

Log compile options on startup.

Brought the retry attempts to read the DHT11 sensors to the main devices loop. The actual read function is now very simple. Called every 30 seconds when all is well, or 2 seconds if something is wrong.

Version 0.9.16. Final changes DHT11 reading via sysfs.

Better detection of the DHT11 sensors. Read DHT11 with errors detection and reapeated tries.

Work to move dht userspace code to kernel module.

Running threads and locking doesn't depend on wiringPi anymore.

All thread locks from wiringPi to standard pthreads.

Added MIGRATION document. Trying to drop usleep() call to replace by nanosleep(). Some code cleanup.

Updates for DHT11 reading

Impoved SDL configure checks

Version 0.9.15

Renamed initscript

Init system for Slackware only

Final rebuild brewpanel to SDL2

Add --enable-wiringpi to configure script to allow to disable wiringpi even when it is installed. Use SDL2 instead of partly old SDL.

Create installation directories

Create installation directories

Version 0.9.14

Add DESTDIR installation target. Some kicad update again. Moved init script to /etc/rc.d

Version 0.9.13. Close socket after use, fixes too much files open.

Version 0.9.12

Final changes for current wifi parameters.

Updates for cabled networks

Design wifi parameter reporting

Upgraded drawing to kicad 6.0.8

Upgraded kicad to version 6

Final changes in the css.

Updated css for webcam-ng

Added favicon.ico

Merged again

Improved conditional styling

Improved conditional styling

Merged

Added nextgen webcam scripts.

Upgraded jqwidgets

Always send network information, our IP may be changed.

Fixed init problems.

Version 0.9.11. Removed lcd debug message after 7 years. Added setup for alternative beer sensor. If the main sensor is gone, the alternative will be used.

Added kicad drawings

(0) -120 tip

mercurial