Commit Graph

415 Commits

Author SHA1 Message Date
Chris Esposito 1d40f60508
Update .appveyor.yml 2019-04-01 21:00:48 +11:00
Chris Esposito bb56dc5e0c
Update .travis.yml 2019-04-01 20:59:15 +11:00
Chris Esposito acc91c8acb
Update .travis.yml 2019-04-01 20:51:39 +11:00
Chris Esposito 3619a390a0
Update .travis.yml 2019-04-01 20:26:36 +11:00
Chris Esposito 7d8e73548c
Update .appveyor.yml 2019-04-01 20:24:54 +11:00
Chris Esposito 5cc7c9425d Standard QSettings fixes Windows calibration issue 2019-04-01 20:00:43 +11:00
Chris Esposito cea118a00d
Update .travis.yml 2019-04-01 19:56:07 +11:00
Chris Esposito 888776c09a
Update .appveyor.yml 2019-04-01 19:55:56 +11:00
Chris Esposito aff7f91b7d help/about updated for continuous release 2019-04-01 19:53:19 +11:00
Chris Esposito 26352bbc56 Fixed Windows build 2019-04-01 19:27:08 +11:00
Sebastián Mestre 3c0616a46f I2cdecoder refactor (#76)
* Use Qt5 type-safe connect on i2cDecoder

* Add destructor, fixing a memory leak in i2cDecoder

* Remove commented debug print

* formatting
2019-04-01 08:31:52 +11:00
Sebastián Mestre e6f0e24a28 'Functiongencontrol refactor - part 3 (#74)
* move ChannelID to outside of functionGenControl

* move ChannelData out of functionGenControl

* make the genericUsbDriver fGenPtrs into an array

* Make genericUsbDriver store pointers to ChannelData instead of to functionGenControl

* split genericUsbDriver::setFunctionGen into two parts. Stop reassigning the fGen pointers

* Big functionGenControl refactor

- Create functionGen namespace
- Rename functionGenControl to DualChannelController
- Create a SingleChannelController class that holds all the
functionality of a single channel (i.e. almost all of it).
This class acts as a Qt wrapper over the actual data, it
gives it the ability to emit and recieve signals while
keeping the actual data copiable.
- Add an alias functionGenControl = DualChannelController
2019-03-26 10:12:08 +11:00
Chris Esposito 525b03de1c
Update uartstyledecoder.cpp 2019-03-19 17:53:56 +11:00
Sebastián Mestre 80b4d04843 Uartstyledecoder refactor (#72)
* fix brackets

* make serialBuffer a member of uartStyleDecoder and add m_ prefix, loosen synchcronization on updateConsole

* make uartStyleDecoder::updateTimer a member variable

* write isEvenParity lambda in a more concise way

* add unused attribute on decode_baudot. make isEvenParity take an argument

* add const where possible on uartStyleDecoder methods

* Refactor performParityCheck to immutability

* Move the computation around a bit. Parameterize with parameters instead of relying on class state

* remove parity!=Node check. isParityCorrect alreaddy checks this.

* Various changes regarding uartStyleDecoder.

 - rename parent to m_parent
 - store baud rate as a member variable
 - use bool instead of unsigned char for single bit values
 - remove maybe_unused attribute on decodeBaudot
 - getUartBit(index) -> getNextUartBit()
2019-03-18 18:14:49 +11:00
Chris Esposito dd793fc4e7
Updated Win32 to build with Qt 5.12 on VS 2017 (#73)
* Updated Win32 to build with Qt 5.12 on VS 2017

* vs2017

* New vcvarsall
2019-03-17 11:22:27 +11:00
Sebastián Mestre eeb0db0318 Access the pointer directly on isoBufferBuffer::insert (#71) 2019-03-10 09:13:46 +11:00
Chris Esposito 681ef5cb13
length cast to double 2019-03-07 20:00:40 +11:00
Sebastián Mestre c149063452 Functiongencontrol refactor - part 2 (#69)
* use an enum instead of int to identify function generator channels

* Use local 8 bit encoding instead of utf8 for file paths

* use static_cast instead of function-style casts

* remove length member from channelData struct. use reference captures on some lambdas
2019-03-07 19:58:52 +11:00
Sebastián Mestre a144105b23 Functiongencontrol refactor (#68)
* Add struct definition for functionGenControl channel data

* Add member variables for channel data to functionGenControl, deprecate old variables

* fix a typo

* Transition to new functionGenControl cahnnel data variables. Remove old ones.

* refactor genericUsbDriver::setFunctionGen to use the new ChannelData struct.

* functionGenControl: free(NULL) is safe

* Eliminate duplication of functionGenControl::waveformName_CH* fuctions by putting common things into a private template function

* get rid of comments added during refactor

* Move function gen channel data to use std::vector. algorithmify some code on genericUsbDriver::setFunctionGen

* various formatting changes, remove irrelevant comments

* functionGenControl::waveformName: always use utf8 and 16 byte buffers. Remove template

* fix typo introduced by last-second indentation change

* genericUsbDrive::setFunctionGen: shrink samples to fit

* functionGenControl::waveformName: clean up file path manipulation, clean up formatting

* change the two channel objects to an array of two elements. Add common implementations for all methods of functionGenControl. Fix a massive bug introduced earlier in the refactor. Formatting.
2019-03-04 20:02:18 +11:00
Chris Esposito 4cd2a03b01
Changed QT_PATH in appveyor.yml, should fix problem with qmake not being found. 2019-02-17 19:48:38 +11:00
Chris Esposito 07997d5774 neatened up a line 2019-02-17 19:20:03 +11:00
Chris Esposito 1479d95f97 frontend for offset and attenuation: 2019-02-17 19:08:50 +11:00
Chris Esposito 17277fece6 Fixed multimeter LCD display rendering issue 2019-02-17 18:52:42 +11:00
Chris Esposito 9eeb3f1e91 UI rework, QLCD error 2019-02-17 17:14:20 +11:00
Chris Esposito b78a65174f Added attenuation and offset to backend 2019-02-17 16:39:11 +11:00
Chris Esposito 5e185ba08c isoBuffer stores raw pointer 2019-02-15 21:44:02 +11:00
Chris Esposito b4f54d5d99 trigger CH2 works 2019-02-15 21:03:02 +11:00
Chris Esposito 68512ebe95 isoBuffer CH2 has correct channel 2019-02-15 20:59:41 +11:00
Sebastián Mestre ddb6952f00 Isobuffer refactor - Part 3 (#66)
* Start moving towards cstdint types. Change m_bufferEnd to m_bufferLen (i.e. dont substract 1 when constructing), this fixes a bunch of small bugs and off by one errors

* Fix loop in isoBuffer::getDelayedTriggerPoint not touching the first element

* Comments, formatting

* Reorder some of isobuffer.cpp's functions

* Fix compile error caused by not fully renaming a variable

* Fix some off-by-one errors

* formatting

* Tabs -> Spaces
2019-02-12 18:32:16 +11:00
Chris Esposito 2e8fa2f4b8 Librador demo builds and runs on mac - untested (no hardware ATM) 2019-01-30 18:58:02 +11:00
Chris Esposito fd406399c5 Librador builds on mac (not sure if it works?) 2019-01-30 18:44:28 +11:00
Chris Esposito 4bafdc1a67
Update isobuffer.cpp 2019-01-29 10:08:09 +11:00
Chris Esposito 0cb7acfbc9
Update isobuffer.cpp 2019-01-29 09:45:45 +11:00
Chris Esposito 9e2f678dce new trigger working (with some bugs) 2019-01-28 20:10:29 +11:00
Chris Esposito 6773347739 Edge detection 2019-01-28 13:39:48 +11:00
Chris Esposito 39524b4d04 Nuked Trigger 2019-01-28 11:54:35 +11:00
Chris Esposito b0ac0cc645 Added Documentation and Pinout links 2019-01-28 11:34:04 +11:00
Sebastián Mestre 57c7f5f61f Isobuffer refactor - part 2 (#65)
* Split isoBuffer::maybeOutputSampleToFile into two functions

* reorder isoBuffer data members. clean up comments and formatting. clean isoBuffer::writeBuffer

* Remove my name from a comment

* Use type-safe Qt connect. Move comments. change IO column comparison.

* Give isoBuffer the proper ringBuffer behaviour

* Change the behaviour of isoBuffer::readBuffer; Change comments to reflect this.

* Fix a silly mistake in isobuffer.cpp (compiler warnings are awesome)

* Modify isoBuffer::readBuffer

* add destructor to isoBuffer, reorder initializer list. isobuffer.cpp now compiles with no warnings.

* Change isoBuffer::m_buffer to be a unique_ptr

* Change isoBuffer::m_stopDecoding to isoBuffer::m_isDecoding

* Refactor isoBuffer::readBuffer to use unique_ptr. Currently a memory leak

* Change signature of isoBuffer::readBuffer to return unique_ptr. adapt isoDriver acordingly.

* Clean up comments on isobuffer .h and .cpp

* Incorporate review comments: formatting, explicit unique_ptr, spelling
2019-01-28 11:14:04 +11:00
Chris Esposito 31f68faf4e
Update isobuffer.h 2019-01-23 16:14:24 +11:00
Sebastián Mestre 015d41624d Isobuffer refactor (#64)
* make isobuffer.cpp follow the common bracket style

* Add a few utility functions to isoBuffer, and reorganize and comment isobuffer.h

* refactor a few functions in isoBuffer using the newly added functions

* Clean up isoBuffer::readBuffer. Requires particular attention during review

* remove unused variable isoBuffer::firstTime

* Fix formatting and add a comment to isoBuffer::maybeOutputSampleToFile

* move invariant out of loop in isoBuffer::writeBuffer_short

* Substantially refactor isoBuffer::readBuffer

* change spaces to tabs on isoBuffer.h

* spaces to tabs on isobuffer.cpp and isobuffer.h, but properly

* Enforce const correctness on some methods of isoBuffer

* Add some comments to isobuffer.cpp

* Remove duplication in isoBuffer::cap_xnfromxxx functions by extracting common functionality to a free function

* Format isobuffer.h and isobuffer.cpp

* add inserted count to isoBuffer

* further modification to isoBuffer::readBuffer

* Correct a comment in isoBuffer::readBuffer

* add an anonymous namespace with file-wide constants

* remove isoBuffer::openFile, and move initialization isoBuffer to initializer list

* add lines between if statements in isoBuffer::insertIntoBuffer

* add spaces after // to some comments

* extract common functionality from writeBuffer_xxx functions to function template

* update header file to reflect previous commits

* make isoBuffer::return nullptr in a troublesome case

* add space after // to some other comments

* Make capSample a member function of isoBuffer, delete a macro in isobuffer.cpp

* clean up various comments and declarations in isobuffer.cpp

* make isoBuffer::gainBuffer work for any gain value

* make enableFileIO use the constant definitions made in a recent commit

* Remove type argument from isoBuffer::serialManage

* make isoBuffer::readBuffer return a zero-filled buffer instead of null

* Remove isoBuffer::glitchInsert

* Add a bunch of TODOs to isobuffer.cpp and isobuffer.h

* Rename member variables of isoBuffer to have an m_ prefix

* Move isoBuffer::capSample comparison functors to anonymous namespace

* Make CONSOLE_UPDATE_TIMER_PERIOD on isobuffer.h a constexpr intead of a macro
2019-01-23 16:13:40 +11:00
Sebastián Mestre 4499db10bf Isobufferbuffer integration (#62)
* Update all code to use the new isoBufferBuffer interface, and remove the old one; also rename isoBufferBuffer::add(uint8_t) to insert_hex

* remove unnecessary include directive from isobuffer.h

* Remove 'Legacy Interface' comment from isoBufferBuffer header and implementation, move insert_hex closer to other insert functions in the header and implementation

* Remove TODO comment of a finished task
2018-12-31 10:02:04 +11:00
Chris Esposito 0e97d4c150
Update .travis.yml 2018-12-28 14:22:21 +11:00
Chris Esposito 81ef2e8e59
Update README.md 2018-12-28 14:17:01 +11:00
Chris Esposito 007c183c9f
MATRIX_EVAL 2018-12-28 14:15:45 +11:00
Chris Esposito 17cbfd29fa
Update .travis.yml 2018-12-28 14:15:02 +11:00
Chris Esposito 35c97d9488
Travis.yml uses aliases rather than CC/CXX 2018-12-28 10:39:59 +11:00
Sebastián Mestre 607734c60d isoBufferBuffer refactor (#61)
* Reimplements isoBufferBuffer and fixes a potential memory leak due to lack of a destructor
2018-12-28 09:51:10 +11:00
Chris Esposito bbc5948fdd
Travis should use gcc-7 on linux 2018-12-28 09:26:49 +11:00
Chris Esposito c91a42d7c4
Update README.md 2018-12-27 11:52:56 +11:00
Chris Esposito 14a5ab67ff
Added C++14 support to qmake file 2018-12-27 11:49:11 +11:00