Coder Social home page Coder Social logo

n3roaster / typica Goto Github PK

View Code? Open in Web Editor NEW
26.0 26.0 8.0 10.9 MB

Free software for coffee roasting operations.

Home Page: https://typica.us

License: MIT License

JavaScript 0.51% CSS 0.08% C++ 67.98% TeX 0.01% Makefile 15.54% QMake 0.02% HTML 0.55% CWeb 15.32%
business c-plus-plus coffee coffeeroasting mit-license roasting

typica's People

Contributors

n3roaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

typica's Issues

Localization and Internationalization Support

At present Typica is written in such a way that the usual text translation tools do not work very well. Fixing this is essential to getting Typica translated for international use.

Add About Box

On the project web site I said that I'd put an about box in with a section thanking anybody who provided financial support to the ongoing development of Typica. This happened today so an about box is now required to provide this.

Improve loading speed of target roast profiles.

There are many areas where profile loading can be optimized. Things to consider:

  1. Drawing code on some platforms is slow. Would deferring graph drawing until all data has been loaded improve anything?
  2. Can the measurement model be improved?
  3. Can those modifications be made in such a way that proxy models become a realistic option for handling varying table view granularity?

The last in particular makes certain requested features much easier to implement.

Transition to C++11

Part of this transition will need to wait until Typica switches to Qt 5 unless the new connection syntax is back ported to the 4.x series. By the time Typica 2.0 is released, compiler support for C++11 should be much improved.

Batch log should by default filter to a subset of records.

What subset of records would be most useful to start from? How do we make it clear that it is possible to dig up other data? Is this even the best solution to the underlying problem that as the batch history increases in size it takes longer to pull up the complete set of records?

Too few translation units.

Current release versions of Typica have all code (aside from that brought in through third party libraries) in a single file (typica.w, processed into typica.cpp). When writing new code, consider splitting this out into multiple .w source files (remember to @i the file in typica.w) and use @(@> chunks to split output to multiple .cpp and .h files. This allows multiple translation units to be built in parallel, improving compilation time, and opening the possibility of further optimizations of the build process. It might also make it easier to find the appropriate portion of the code when changes are needed without consulting the PDF version of the source documentation.

By version 2.0 old code should be fully broken apart in this way.

Remove configuration prompt.

The configuration prompt is one of the largest sources of support emails. I don't understand what is so challenging about it personally, but this has been established empirically. With ongoing development the use cases for the current configuration system have been reduced and should continue to be reduced and this portion of the application should change to reflect that. The ability to run custom configurations must be retained, however Typica should start with a sane default to help people new to the program or people who forget to point new versions at new configurations get started more quickly.

Print pagination is bad.

This appears to be a bug in Qt/WebKit, but if it is possible to work around the issue in Typica, we should.

Redesign graph widget

The current graph widget is too inflexible for planned features. Are any third party graph widgets license compatible with Typica and architected suitably for Typica's use cases?

Help System

The instruction manual should be available from the Help menu. Additional forms of in program help should also be provided wherever appropriate.

Unify device hierarchy

Currently National Instruments hardware, Modbus RTU hardware, and test data sources are handled in separate class hierarchies exposing a common interface. There is room for improvement in code cleanliness and in making it easier to extend hardware support to additional device classes if this is cleaned up.

Support DATAQ DI-145 serial protocol.

While the DATAQ SDK will support both the DATAQ DI-145 and DI-148U, it only works on Microsoft Windows. There is serial protocol documentation for the DI-145 (but not for the DI-148U) that would allow this hardware to be used with Mac OS X or Linux and it is likely that this could also be used to improve reliability under Microsoft Windows.

Linux Desktop Integration

An Ubuntu PPA is planned for distributing Typica versions 1.5 and later. A .desktop file will be needed and there may be other issues that need to be resolved to make distribution on Linux easier.

Remove rename in build process

Currently building Typica from CWEB source requires renaming the generated typica.c file to typica.cpp. It is very easy to forget to do this and test builds that do not incorporate the latest changes. The auto-generated typica.c file should be a stub with its current content pushed from a @(@> chunk.

UI Graphics

Typica already includes some icons from Tango. These should be used in all appropriate places.

Configuration Tree View should be scrollable.

Scroll bars are required to handle deep hierarchies (not that such configurations are recommended but they are possible) and configurations that travel among several different machines (also not particularly ideal, but this is a situation that exists).

Replace Measurement class with QVariantMap.

The Measurement class is too inflexible to keep up with planned features. Replacing this with QVariantMap will make it much easier to add new capabilities to the measurement pipeline as well as making it easier to work with measurements from QtScript or QML. This will require modifying all classes that currently work with Measurement objects.

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.