- Per-process stderr logging to /data/log2/{session}/ with time-safe
directory naming (boot-xxx renamed once GPS/NTP sets clock)
- Aggregate session.log with major events (start/stop, transitions)
- 30-day log rotation cleanup on manager startup
- build_only.sh: compile without starting manager, non-blocking error
display, kills stale processes
- build.py: copies updated spinner binary after successful build
- Onroad park mode: show splash screen when car is on but in park,
switch to camera view when shifted to drive, honor screen on/off
- Spinner: full-screen boot logo background from /usr/comma/bg.jpg
with white progress bar overlay
- Boot logo: auto-regenerate when boot_logo.png changes, 140% scale
- launch_openpilot.sh: cd to /data/openpilot for reliable execution
- launch_chffrplus.sh: kill stale text error displays on startup
- spinner shell wrapper: prefer freshly built _spinner over prebuilt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
405 B
C++
Executable File
25 lines
405 B
C++
Executable File
#include <QLabel>
|
|
#include <QPixmap>
|
|
#include <QProgressBar>
|
|
#include <QSocketNotifier>
|
|
#include <QWidget>
|
|
|
|
class Spinner : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Spinner(QWidget *parent = 0);
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent *event) override;
|
|
|
|
private:
|
|
QLabel *text;
|
|
QProgressBar *progress_bar;
|
|
QSocketNotifier *notifier;
|
|
QPixmap bg_img;
|
|
|
|
public slots:
|
|
void update(int n);
|
|
};
|