Giter Club home page Giter Club logo

modbus_visualizer's People

Contributors

alexeshoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

modbus_visualizer's Issues

modbus index

Could you clarify about the modbus index? It looks it should start at 1 but on this project, it starts (in the GUI) at 0

Number `0x8000` is displayed as -32768 as a signed short

The number 0x8000 is displayed as -32768 when the display mode is signed short.

From the Wikipedia page for C data types:

Short signed integer type. Capable of containing at least the [−32,767, +32,767] range;[3][4] thus, it is at least 16 bits in size. The negative value is −32767 (not −32768) due to the one's-complement and sign-magnitude representations allowed by the standard, though the two's-complement representation is much more common.[6]

Need to investigate and see if this is a problem and how it can be fixed if so.

Don't allow writing second register of 2 register long numbers

When writing data to the modbus it is possible to enter text in the second half of the register displayed which results in the value written to write half of two different pairs of registers.

For example, when displaying floats, it is possible to write to register "1" which results in the value of the 0,1 pair and 2,3 pair being affected since the value is written to register 1 and 2. This should either be prevented or made to write to register 0,1.

flaot_example

Dont allow data access above register 65535 for any register type

From the wikipedia page for modbus:
coil numbers span from 000001 to 065536,
discrete input numbers span from 100001 to 165536,
input register numbers span from 300001 to 365536,
holding register numbers span from 400001 to 465536.

Therefore the maximum register number accessible (and decodable in uin16) is 65535. This is the highest register that should be allowed by the program to access. The startRegisterSpinBox should allow this value since a poll of data length 1 is valid for that start address, but the program should limit the value in the numberOfRegistersSpinBox to max(65536 - startRegisterSpinBox.value(), 100) to prevent illegal data access.

Add Toggle-able Timestamps to Console messges

There should be a tick box on the GUI to add timestamps to the messages in the console window. Perhaps even a tickbox to show the console message number as well.

The behavior should be such that when it is toggled, the entire console window is updated with the timestamps/message numbers for each message in it.

This means that meta data should be stored in the program and the entire console window should be written over each time with the appropriate data on settings change.

client timeout

Currently the timout for the modbus client is set to default and despite there being a timout spinbox in the GUI for the serial interface, it does nothing. The timout setting should be set as a common setting for both client types and actually affect the client.

Update poll request when 4 byte data type is selected.

When polling registers, if a data type of size 4 bytes is selected, but the register length is an odd number, the data is truncated and the last half value is not displayed.

This can be confusing when 1 register is selected as the length, as no data will be displayed at all when the program reports a successful poll.

Either a console message should be made, or the poll request should be updated such that the length of the poll is rounded up to the nearest even number. It should also be reflected in the numberOfRegistersComboBox.

Octal padding may be wrong.

The padding 0s for ocal numbers may be the wrong length. Octal numbers are currently padded to 5 character, should be 6 I think

Console messages should be color coded

The console message signal should accept a color option which is printed to the console in that color when received. The console window is an HTML box, so we can utilize that appropriately.

Example: Error messages should show up as red in the window.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.