EpsilonControl

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2023-01-03
10:34
Hide network specific connection settings if a non-network connection type is selected Leaf check-in: 31fd7d0423 user: luna tags: tcp-satellite-connection
2023-01-02
16:43
Fix a bug where the UART Protocol would emit MessageSent twice

Because it sent two ABBA messages out of the UART even though only one of those corresponds to an actual message (the other is the TNC control command) check-in: 71afd2125b user: luna tags: tcp-satellite-connection

2022-12-29
12:12
Return DDE frequency control Leaf check-in: ea96d06e96 user: runovj tags: debug_ground_station
05:16
Merge 'return history parser' check-in: e43719a4f7 user: runovj tags: debug_ground_station
05:07
Fix merge trunk into debug_ground_station check-in: 2b07cd6543 user: runovj tags: debug_ground_station
2022-12-28
14:48
Hacky Wacky way of using a TCP connection rather than a serial port

This currently has multiple problems / uglinesses that should be fixed:
- The host / port inputs should only be shown if "Network" is selected from the list (GS-667)
- If the connection does not get established / gets closed, open() still reports true. I suspect that this is because QTcpSocket does not implement QIODevice all that correctly but we should probably find a workaround (GS-665)

However, everything works in principle now and you can connect to a software TNC over TCP (or to a hardware TNC that has been shared with socat, the possibilities are endless).

Also note that the TCP MTU (~1500 - some header overhead) is larger than the
largest single packet that we'll ever get and the buffers are flushed after
every full packet write so a receiver is very likely to get all bytes of a
single ABBA packet in a single TCP packet (this is not necessarily guaranteed
in 100% of cases but it will make the initial playing around with it much
easier) check-in: e1d0757d44 user: luna tags: tcp-satellite-connection

12:26
Create a helper method to connect a protocol to signals and slots

Which simplifies the code and removes duplication quite a bit. I also changed
the connect calls to use this as the context which might prevent surprises
similar to the one from a few commits ago in the future. check-in: 81b04d45d6 user: luna tags: tcp-satellite-connection

12:21
Remove the reference to _protocol from satellite connection

By routing the SendCommand path via a signal to the protocol instance. This
removes the need to keep a reference to it (and more importantly, the need to
check if the protocol that just got deleted actually is the protocol that we
are currently keeping track of which was a bit weird) check-in: 6c780d4642 user: luna tags: tcp-satellite-connection

11:48
Fix crash when a serial port gets deleted

This would not have happened if the removal checker was a real function and
connecting signals to lambdas that capture this is probably a bad idea for this
reason.

sender() returns (a pointer to) the QObject that emitted the signal that caused
the slot function that is currently being executed to be called. When a signal
gets connected to a lambda, things get a bit more tricky. If a lambda captures
this (in a QObject derived class), sender() is still callable. However, if the
lambda is connected to a signal with the context-less version of connect, QT
doesn't actually execute anything *on* the current object so sender() returns
whatever. E.g. consider the following code:

QObject boo();
connect(this, some_signal, [&]() { qDebug() << boo.sender(); });

Since QT has no idea that you plan to call boo.sender() in the lambda,
boo.sender() will not return anything sensible when it gets called. However,

QObject boo();
connect(this, some_signal, &boo, [&]() { qDebug() << boo.sender(); });

seems like it would work as expected check-in: 671113d62b user: luna tags: tcp-satellite-connection

10:28
Manage protocol object lifetime by the lifetime of the connection object check-in: 4ad7b17e87 user: luna tags: tcp-satellite-connection
09:30
Make uart_selecter (sic) connection private check-in: 9c885d4780 user: luna tags: tcp-satellite-connection
09:29
Refactor the concept of a protocol out of SatelliteConnection

And properly clean up connections once uart_selecter (sic) signals a disconnect.

This is currently mostly untested (except for checking that it compiles) check-in: 5ca6b122d5 user: luna tags: tcp-satellite-connection

2022-12-27
15:42
Refactor uart_selecter and satellite_connection to only maintain one QIODevice

Rather than a separate QSerialPort for each type of connection. From the
perspective of the satellite_connection class, it does not matter that we are
dealing with serial ports rather than anything else that can represent a byte
stream. Therefore, we only have one abstract device now and get signals to tell
us when we connect or disconnect from a certain device in a certain mode.

This isn't perfect yet, the RX path is set up in the XXXConnected callbacks but
the TX path still relies on knowing that uart_selecter_inst->connection is the
connection that we want to use. To fix this, we would need to create an
internal signal that the externally visible SendCommand emits that can be
connected to a particular transport in the XXXConnected signal. check-in: 61ae831d60 user: luna tags: tcp-satellite-connection

11:49
Merge resizing branch into trunk Leaf check-in: 4e9946f28d user: luna tags: trunk
11:40
Change line endings in mainwindow.h

To make merges easier check-in: 2731fcd975 user: luna tags: trunk

11:36
Fix a typo Closed-Leaf check-in: c4cf713311 user: luna tags: make_it_resizeable
11:34
Put the back address back into the window title check-in: c0130fd274 user: luna tags: make_it_resizeable
11:31
Fix CAN ID parsing in tnc_parser check-in: f96a646453 user: luna tags: make_it_resizeable
11:31
Undo the "EpsilonControl" -> "trol" changes in 4b3334d096d59c1c check-in: f80c1ef45c user: luna tags: make_it_resizeable
2022-12-20
17:01
Shitty way to return representor Leaf check-in: 2913df8104 user: ilya tags: return_history_parser
2022-12-19
10:24
Add CRC check of TNC message check-in: bd2e2203fa user: ilya tags: debug_ground_station
2022-12-16
11:40
Add spin boxes for PTT adjusting check-in: ee4608cc35 user: ilya tags: debug_ground_station
2022-12-14
16:53
Add debug outputs and add command to increase PTT before and after transmitting" check-in: 549c0c1710 user: ilya tags: debug_ground_station
2022-12-13
17:27
Change basic representro style sheet check-in: c12923a23a user: ilya tags: make_it_resizeable
2022-12-01
13:20
Fix build for windows. Add stylesteet to indexing check-in: d2c4a4b3bf user: ilya tags: make_it_resizeable
2022-11-30
14:00
Set mostly used widgets chousen check-in: 3b63d0b497 user: ilya tags: make_it_resizeable
11:34
Small refactoring in mainwindow changes check-in: b6dd1c7e0a user: ilya tags: make_it_resizeable
2022-11-29
18:09
Add stylesheet check-in: 4b3334d096 user: ilya tags: make_it_resizeable
17:01
Resize command editor view (column amount) check-in: 4d36a63037 user: ilya tags: make_it_resizeable
16:44
Stack command_editor and history_viewer to vertical layout. Return basic representer straches. check-in: 969347eeee user: ilya tags: make_it_resizeable
2022-11-28
14:56
Make address window smaller

user: ilya
tags: make_it_resizeable

EDITED window_widgets/address_selecter.cpp
EDITED window_widgets/address_selecter.h
EDITED window_widgets/basic_representer.cpp check-in: 06da39f0d5 user: ilya tags: make_it_resizeable

2022-10-17
15:38
Add a menu entry to change the number of bytes requested in FS_READ check-in: a2ece18155 user: luna tags: trunk
2022-10-13
15:33
Add an application skeleton for adcs file downloads Closed-Leaf check-in: d154fc4d08 user: luna tags: satellite-connection
15:31
Remove some unused headers check-in: acf4cb7fd8 user: luna tags: satellite-connection
15:01
Refactor address_selection out of satellite_connection check-in: 485029cac7 user: luna tags: satellite-connection
2022-10-12
15:56
Fix segfault check-in: 1c68af18b2 user: luna tags: satellite-connection
15:51
Decouple satellite connection from history check-in: 3da69dcbba user: luna tags: satellite-connection
15:29
Finalize the dialogization of the connection settings check-in: 8d74625263 user: luna tags: satellite-connection
15:12
Turn ConnectionSettings into a QDialog

And add a settings menu entry to show it check-in: 978518ad20 user: luna tags: satellite-connection

14:25
Fix segfaults check-in: 2c7c515fc1 user: luna tags: satellite-connection
14:02
Integrate dde_interface into satellite connection since it is too tightly coupled check-in: 11a50e5b68 user: luna tags: satellite-connection
09:08
Remove unused settings member from uart_selecter check-in: 58589c7619 user: luna tags: satellite-connection
2022-10-11
11:27
Clumsily refactor satellite connection logic into a new class

Which is still way too coupled to the old MainWindow but it is a start. check-in: 6ab41e4f08 user: luna tags: satellite-connection

2022-09-29
15:27
Fix the last-block detection logic in FS_manager write ack parsing check-in: 280620faad user: luna tags: trunk
14:25
Make cross-build deploy directory configurable

This allows us to deploy directly to the windows server check-in: e3701e5fd2 user: luna tags: trunk

14:21
Run windows builds through -j17 check-in: 8c22954915 user: luna tags: trunk
13:17
Add a script to cross compile to windows

This script will

1. Download and build a cross compilation toolchain (which can be pre-configured by setting MXE_ROOT)
2. Build epsiloncontrol either in the current directory when doing an out-of-tree build or into the windows subdirectory (which will be automatically created)
3. Deploy the release binary together with all needed dlls into a deploy subdirectory of the build directory check-in: 5a81e1fe50 user: luna tags: trunk

12:57
Fuck you Baltimore

Splitting commits into semantic chunks is such a chore in fossil that I am not
going to bother. Here is the changelog where each item would have been a git
commit:

- Fixed the windows build by including dde_interface.h in mainwindow.h if building for windows
- Fix log path separators to work on windows and linux
- Fix parsing of an empty LS response in FS_manager
- Parse write response messages in FS_manager to mark the acknowledged chunks as completed
- Removed the unnecessary generated_version.h header from the dependencies
- Fixed the capitalization of the gos_commands repository
- Reduced the number of bytes that get requested with the FS_manager read button to 380
- Apparently larger messages get stuck sometimes check-in: b49fb6a44c user: luna tags: trunk

2022-08-15
16:04
Set CAN bus speed to 500K

It was 250K before and as far as I know, now satellite that we are currently
integrating needs that speed. check-in: 23f811f84e user: luna tags: trunk

2022-08-11
09:58
Make build cross platform + some warning fixes + some file transfer improvements check-in: edb92a9d66 user: luna tags: trunk