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
Chris Esposito
57eac0f46e
Firmware Flashing Message in Linux
2017-12-24 11:13:06 +11:00
Chris Esposito
afa1419480
New Changes build on Linux/Rpi
2017-12-24 10:52:01 +11:00
EspoTek
f65c8aa5a0
Some unfinished scaffolding for non-ASCII UART decoding.
2017-12-03 14:11:32 +11:00
EspoTek
96cb814e8e
Firmware flashing more robust on Windows. Can't fail due to having too short a wait. Mac/Linux/Android not improved!!
2017-12-01 17:03:13 +11:00
EspoTek
836dbd47b8
Minor UI update; removed word "glitchy" from high baud UART
2017-12-01 16:20:54 +11:00
EspoTek
ac583c8482
Added firmware 0x0004 and changed interface to use this. Shoved dfu-programmer in the repo since it's essential.
2017-12-01 16:19:28 +11:00
EspoTek
6e886c127a
Updated QCP2 from the beta to 2.0.0. Didn't activate as it causes crashes.
2017-12-01 15:47:39 +11:00
EspoTek
c93cf854da
Bit of scaffolding for I2C. Meme commit.
2017-12-01 15:31:21 +11:00
EspoTek
2e803a6f94
extended last patch to CH2 also.
2017-11-28 15:31:33 +11:00
EspoTek
3ab936673a
Serial Decoding detects wire disconnects and stops.
2017-11-28 13:09:52 +11:00
EspoTek
5b70ffecbe
Added the uart decoder into a separate class.
2017-11-28 11:17:11 +11:00
EspoTek
2e3babc808
added RMS measure, fixed the max/min/mean when AC coupling enabled
2017-11-07 15:06:40 +11:00
EspoTek
ab8ff4c302
Fixed android build issues stemming from last patch.
2017-11-07 14:11:03 +11:00
EspoTek
42554094fc
Added in the large "cycle left/right" functions.
2017-11-07 14:06:35 +11:00
EspoTek
56aaa39bad
User can manually set delay from oscilloscope->range->enter manually
2017-11-07 13:54:38 +11:00
EspoTek
662021ebab
User can select which channel they want to record, and get file dialog prompt.
2017-11-07 13:31:26 +11:00
EspoTek
6e8e03d4a4
User now selects which channel they want to take a snapshot of.
2017-11-07 13:08:25 +11:00
EspoTek
38ba12d647
Android 7 and higher is now supported
2017-11-05 21:54:54 +11:00
EspoTek
9ee91d2a42
"Snapshot" asks user where they want to save w/ dialog
2017-11-04 16:52:19 +11:00
EspoTek
ca2406b2db
Cleaned junk out of repo.
...
Still need to edit history
Former-commit-id: e2061432d4b3d2bbb1f9621f3cce34d43b682b2a
Former-commit-id: aeeed8aa2af692f92b7ea7ec8cc042d49c679ce5
2017-10-21 16:11:49 +11:00
EspoTek
ad017cf2f3
No longer says "building for linux" on Windows in the console.
...
Former-commit-id: 078f578592c96a59470f2d8f4e2f85b81b40f778
Former-commit-id: 60d36c0e352de430de2866bdd64b653713976d9d
2017-09-04 18:22:51 +10:00
EspoTek
834a9d3df3
Last upload accidentally lost files!
...
Former-commit-id: 14c864b18215342baec6db4297b3d2d999e512eb
Former-commit-id: 731f8e18b73806ca85ba591c50db7a3a41232a03
2017-09-04 18:20:35 +10:00
EspoTek
ea38246587
Added build settings for RPi. Looks like more optimisations needed...
...
Former-commit-id: 66bd676c70c00f5c13ce5f41be5a106a72054361
Former-commit-id: 0fe1b4666ecd7f599e8965f9f159628aed8113a4
2017-09-02 14:11:38 +10:00
EspoTek
fe9b1cce53
Contains settings for 32-bit Linux builds, including 32-bit libdfuprog
...
Former-commit-id: ae104c8ea4
2017-07-15 17:46:12 +10:00
EspoTek
0457b9d95b
V.10 pushed to Android
...
Former-commit-id: b2eea722ed
2017-07-14 08:41:22 +10:00
EspoTek
8bc971dddb
Version 1.0. Fixed most of the bad bugs
...
Former-commit-id: 6eba14054b
2017-07-13 19:50:30 +10:00
EspoTek
6ff10586dc
Better Android compatibility, has firmware 3 (but doesn't yet require)
...
Former-commit-id: 6f3d0b19ac
2017-07-13 15:41:47 +10:00
EspoTek
b2d6daa433
Libdfuprog android fixed
...
Former-commit-id: 31f4b1621e
2017-07-13 13:35:55 +10:00
EspoTek
454d6134f2
(glitchy) unix flashing in
...
Former-commit-id: bd5b6842be
2017-07-13 09:20:22 +10:00
EspoTek
f91072ec5a
Android assets added.
...
Former-commit-id: 755ff352ec
2017-07-13 09:18:44 +10:00
EspoTek
c2b8095d24
Tried libdfuprog fixes, didn't work.
...
Former-commit-id: 5cb4351466
2017-07-10 07:38:17 +10:00
EspoTek
b92fe7a02f
Start of firmware flash in Android. Can't get permissions for libdfuprog
...
Former-commit-id: 9808153717
2017-07-09 13:34:46 +10:00
EspoTek
6f023dec6f
Firmware flashing in Windows
...
Former-commit-id: 6afd41de34
2017-07-09 12:47:41 +10:00
EspoTek
844c13b1f5
Settings in place
...
Former-commit-id: 83966a3017
2017-07-09 11:08:31 +10:00
EspoTek
9c227aefe0
Libdfuprog built into android
...
Former-commit-id: 8a5e846078
2017-07-08 15:05:44 +10:00
esposch
eaf618a910
libdfuprog added to Linux build
...
Former-commit-id: 26b9526f2d
2017-07-07 15:26:18 +10:00
EspoTek
2ae610b51d
added in libdfuprog to Mac build
...
Former-commit-id: ce0221adca
2017-07-07 10:33:44 +10:00
EspoTek
4a65e06091
Single Endpoint Mode in place on all modes.
...
Former-commit-id: 7b01fa5eb6
2017-07-03 15:08:04 +10:00
EspoTek
1ef7d515cd
But does run existant endpoints!
...
Former-commit-id: db086fffb3
2017-07-03 13:35:45 +10:00
EspoTek
46d19d227f
Single endpoint working, as long as there's a single device!
...
Former-commit-id: 4db3949fe3
2017-07-03 12:32:31 +10:00
EspoTek
a587ad9392
Android testing build
...
Former-commit-id: d54fd37fa5
2017-07-01 12:55:51 +10:00
EspoTek
5ddf4383b2
Android Initial Release
...
Former-commit-id: d192210b8c
2017-06-30 14:02:18 +10:00
EspoTek
09cb784183
R/C meter on Android too now. And an icon!
...
Former-commit-id: 49ff60011e
2017-06-30 11:47:43 +10:00
EspoTek
1e0d7c8460
Capacitance ranging
...
Former-commit-id: 980a3b8736
2017-06-30 09:41:36 +10:00
EspoTek
b6fca84c36
Capacitance meter correctly and accurately detects rise and fall times
...
Former-commit-id: 5f66ee2916
2017-06-29 10:29:38 +10:00
EspoTek
44901cd0b8
Inverse sample convert in place
...
Former-commit-id: 1a5bd9a5d7
2017-06-29 09:48:50 +10:00
EspoTek
bf0999c291
Interface Smoothed Over, likes the new combo box now
...
Former-commit-id: 7451ae1a9e
2017-06-28 16:29:40 +10:00
EspoTek
1963dbf268
Multimeter R mode up and running on desktop.
...
Former-commit-id: 279eca0848
2017-06-28 14:39:26 +10:00
EspoTek
19859b6170
R measurement algorithm in place
...
Former-commit-id: da785e9004
2017-06-28 11:50:26 +10:00
EspoTek
7ed56b2055
Calibration in place. Maximum voltage is 12V.
...
Former-commit-id: f147bc346d
2017-06-26 11:12:00 +10:00
EspoTek
070d36d99b
Caibration algorithm in pace but no user-friendy way of accessing it.
...
Former-commit-id: ee7aff7cf5
2017-06-26 10:19:04 +10:00
EspoTek
88797acf12
Recentreing in.
...
Former-commit-id: 445a301029
2017-06-22 14:49:50 +10:00
EspoTek
334d0d2f26
Towards calibration
...
Former-commit-id: 7c3ae61fe8
2017-06-22 14:05:37 +10:00
EspoTek
e5b258d4e5
Double buffering seems to be working. Good theory, no bullshit. Dank u wel, mnr. Dijkstra!
...
Former-commit-id: 4933764c98
2017-06-22 12:16:04 +10:00
EspoTek
3f4ab5c6cb
Intent Filter added
...
Former-commit-id: c27cb9d38c
2017-06-22 11:22:16 +10:00
EspoTek
bc436497a2
Android reinit fine as long as device doesn't reconnect before destructor called
...
Former-commit-id: 09e3568605
2017-06-19 16:23:17 +10:00
EspoTek
db5a5ca437
Slightly nicer scaling control.
...
Former-commit-id: c41fe011d7
2017-06-12 17:19:52 +10:00
EspoTek
d28814606c
Axis Scaling and cursors
...
Former-commit-id: 893624c0e4
2017-06-12 10:55:22 +10:00
EspoTek
4c91883bff
Pinch Zoom added, cannot discern x/y
...
Former-commit-id: 08b476322c
2017-06-10 20:07:53 +10:00