Commit Graph

248 Commits

Author SHA1 Message Date
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 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
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 14a5ab67ff
Added C++14 support to qmake file 2018-12-27 11:49:11 +11:00
Chris Esposito 2b5ce2ecc4 Supports odd and even parity 2018-12-11 20:25:14 +11:00
Chris Esposito f2c7427f2c
std::abs() => abs in espoSpinbox 2018-11-07 20:22:02 +11:00
Chris Esposito b0f5e98bff Single Shot consistent with other pause methods 2018-11-06 14:11:21 +11:00
Chris Esposito 76154a6f7f Trigger count thresh no longer has bad offset 2018-11-06 14:04:53 +11:00
Chris Esposito 086c6634fc changing window size does not affect trigger position 2018-11-06 13:49:53 +11:00
Chris Esposito 108bfdb3c6 Pausing while triggered does not affect trigger delay 2018-11-06 13:45:34 +11:00
Chris Esposito d23831868e espoSpinBox no longer shows float precision errors near zero 2018-11-06 12:53:37 +11:00
Chris Esposito 2158a6f58b Reset twoWire on error rather than crash 2018-11-06 12:06:28 +11:00
Chris Esposito 1d9f2398bb Nicer looking textEdits 2018-11-06 11:50:26 +11:00
Chris Esposito 672cf414d1 isobufferbuffer can take uint8_t 2018-11-06 10:55:45 +11:00
Chris Esposito effeb8ed4a Data decode _should_ work (untested) 2018-11-06 10:46:47 +11:00
Chris Esposito b5069f1264 Address gets sent to console along with r/w and ACK 2018-11-06 10:36:04 +11:00
Chris Esposito b19900e9a0 IsoBufferBuffer cleaned 2018-11-06 10:15:48 +11:00
Chris Esposito bdf1055157 Decodes address bytes 2018-11-06 09:50:36 +11:00
EspoTek 5df3e30780 FIrmware version 0006: Fixes issue with logic analyzer channels being 2.6us out of sync 2018-11-06 09:14:13 +11:00
Chris Esposito e63a97e23a I2C start condition does not get detected as stop 2018-11-04 11:46:17 +11:00
Chris Esposito 124bcd3a61 Timings approximately correct for i2c 2018-11-04 11:31:48 +11:00
Chris Esposito e5bfb2e748 i2c state invalidation fix 2018-11-04 10:49:10 +11:00
Chris Esposito 2772fee1cd i2c state invalidation 2018-11-04 10:47:25 +11:00
Chris Esposito 0f00af0c08 i2c decoder no longer tries to read invalid buffer region 2018-11-04 10:36:11 +11:00
Chris Esposito d65b647ab4 Fixed some I2C edge detection issues 2018-11-04 10:07:15 +11:00
Chris Esposito 23832f1b13
No longer uses std::abs() on a double!! 2018-10-29 20:16:42 +11:00
Chris Esposito c126590a74 Fixed espoSpinBox issues 2018-09-22 06:04:52 +10:00
Chris Esposito fa3d680c55 espoSpinBox fixed behaviour when entering negative values 2018-09-18 08:24:13 +10:00
Chris Esposito 56468e9917 espospinbox does not change value until enter is pressed. scoperangeenterdialog supports changeStepping() 2018-09-17 19:12:07 +10:00
Chris Esposito 50515b545c espoSpinBox handles negative values 2018-09-17 18:56:33 +10:00
Chris Esposito 2593bfc0c6 scopeRangeEnterDialog spinboxes promoted to espoSpinBox 2018-09-17 18:51:58 +10:00
Chris Esposito 0b7f1218f9 EspoSpinBox has better input algorithm 2018-09-17 12:01:17 +10:00
EspoTek bd0e618a45 Fixed Issue 51 (I think, unable to test) 2018-09-16 14:14:12 +10:00
Chris Esposito 39d1bff5ab Fixed segfault; now displays message about iso failure too 2018-09-11 08:46:15 +10:00
Chris Esposito 7a2f8cf35a Added option to hide graphs when paused 2018-09-05 08:26:21 +10:00
Chris Esposito 1a3fd72041 Can put scope range dialog on main window 2018-09-04 20:24:08 +10:00
Chris Esposito dde6d6ac42 Started Debugging i2c 2018-09-04 18:55:03 +10:00
Chris Esposito c96dd98c0f Added start of UI elements for I2C 2018-09-03 06:11:53 +10:00
Chris Esposito ba4644bc35 i2c clock multiplication in place 2018-08-14 17:40:55 +10:00
Chris Esposito 2ba556bbe9 usbIsoInit returns error on failure 2018-08-14 17:19:17 +10:00
EspoTek 2c2db8855b Fixed resolution scaling issues. (See Issue #46) 2018-08-12 16:28:14 +10:00
EspoTek b112f5b691 Fixed build problems. 2018-08-12 16:21:05 +10:00
EspoTek 655258e98d Merge branch 'master' of https://github.com/EspoTek/Labrador 2018-08-12 16:18:33 +10:00
Chris Esposito ca86c1da0a basic i2c skeleton in place and fleshed out. Have to get the timings right (e.g. data bytes should only be read in on the middle of each scl high pulse) and then debug but coming together 2018-08-08 19:20:32 +10:00
Chris Esposito b5afeff380 more... 2018-08-08 19:14:08 +10:00
Chris Esposito a998a59a60 more fleshing...: 2018-08-08 18:58:41 +10:00
Chris Esposito 95b4a01d81 More fleshed out state machine 2018-08-08 18:35:26 +10:00
Chris Esposito 091c37cd37 START and STOP transitions in state machine 2018-08-08 09:31:05 +10:00
Chris Esposito b414923fd3 more i2c flesh 2018-08-08 09:19:30 +10:00
Chris Esposito 2d1bd5f438 resolution hard-coded 2018-08-07 22:11:12 +10:00
Chris Esposito ddf60d5c63 Low resolution mode only activated on low resolution displays 2018-08-08 03:10:47 +10:00
Chris Esposito b55ec2b0aa Fixed rendering issues on low-resolution displays 2018-08-08 02:52:56 +10:00
Chris Esposito 634a046097 more i2 skeleton 2018-08-02 18:27:09 +10:00
Chris Esposito 4c61a0a327 another i2c function 2018-07-31 09:05:58 +10:00
Chris Esposito 6ff66a4c43 Serial should no longer try to decode since the start of time when first activated 2018-07-27 18:39:13 +10:00
Chris Esposito d1ac3618f5 very basic skellington code for i2c in 2018-07-27 18:39:13 +10:00
Chris Esposito 8fa060e2aa reloads udev rules when make install is called 2018-07-21 10:24:49 +10:00
Chris Esposito a0a17e904f make install works 2018-07-19 16:38:42 +10:00
EspoTek c5495ca806 On-boot calibration calls PSU calibration too 2018-06-04 19:18:26 +10:00
EspoTek b9f37da420 Added PSU Calibration 2018-06-04 19:07:21 +10:00
Chris Esposito bb55118192 Android code fixed and Librador in place. 2018-05-19 15:23:22 +10:00
Chris Esposito f6ee6f0844 Added new function to firmware, to kickstart isochronous stream. 2018-04-02 16:21:54 +10:00
Chris Esposito a846895e53 Shared Lib can handle basic avrDebug() call over USB. 2018-03-29 13:29:36 +11:00
Chris Esposito eaaa4691bd Added demo skeleton for librador 2018-03-28 14:23:34 +11:00
Chris Esposito 5df9da55ef
Quick update 4/4. Compatibility improved now on Win32. 2018-02-18 13:20:56 +11:00
Chris Esposito c026f07103
Quick edit 3/4 2018-02-18 13:20:09 +11:00
Chris Esposito 95b5c570c6
Quick edit 2/4 2018-02-18 13:19:10 +11:00
Chris Esposito 37c3356f2e
Quick edit 1/4 2018-02-18 13:18:15 +11:00
Chris Esposito 5efb953de7
Merge pull request #34 from probonopd/master
Generate AppImage on Travis CI for each git push, closes #22
2018-02-18 13:16:35 +11:00
probonopd 9818357b59
AppImage 2018-02-17 10:19:38 +01:00
Chris Esposito 0d66cb870b QThread exits properly, preventing occasional crash on USB disconnect 2018-02-17 14:50:14 +11:00
Chris Esposito 704cb19b2c Fixed builds on desktop. Added "file->quit" button 2018-02-11 11:34:39 +11:00
Chris Esposito e4a458adc9 Android Interface improved for higher-DPI devices. 2018-02-11 11:21:19 +11:00
Chris Esposito 22224bfd6f AVRdebug() added; control transfers can cope with IN buffers 2018-01-11 18:11:28 +11:00
Chris Esposito a3aa5adacc Merge remote-tracking branch 'origin/master' 2018-01-09 10:12:10 +11:00
Chris Esposito 9ce1cd72ce Added Build Scripts. 2018-01-09 10:12:02 +11:00
EspoTek 6248f5dfe5 Firmware recovery on Windows 2017-12-30 12:44:08 +11:00
Chris Esposito e957460134 No longer crashes when two DAQ files opened. 2017-12-28 22:14:47 +11:00
Chris Esposito 370857eff4 You can actually leave DAQ playback. Numbers on PSU slider no longer cut off. 2017-12-28 16:16:42 +11:00
Chris Esposito dddef76972 DAQ start/end time working. 2017-12-28 15:51:44 +11:00
Chris Esposito 025df96ea6 DAQ Playback tested and working 2017-12-28 13:23:33 +11:00
Chris Esposito 1bd7af8b48 Prompt when loadingDAQ file. 2017-12-28 10:17:32 +11:00
Chris Esposito 277df7a7a1 Fixed some bugs in file I/O 2017-12-27 16:07:22 +11:00
Chris Esposito 424417aab9 DAQ Files store mode variable 2017-12-27 14:39:56 +11:00
Chris Esposito a772cfb39a DAQ supports Multimeter now 2017-12-27 14:38:16 +11:00
Chris Esposito d5dad1f13f DAQ Settings in. 2017-12-27 12:44:49 +11:00
Chris Esposito d8ea339c56 DAQ Settings in place, just no GUI to configure them. 2017-12-24 14:08:27 +11:00
Chris Esposito 44703c1b35 Manual firmware recovery in the GUI 2017-12-24 13:07:28 +11:00
Chris Esposito 9f9e4e48c6 Prompts user to calibrate on launch (if uncalibrated) 2017-12-24 11:35:42 +11:00