Skip to content

Conversation

@ClutchplateDude
Copy link
Member

@ClutchplateDude ClutchplateDude commented Jan 13, 2026

  • Merged oae-fw branch so that all mounts are in main branch (develop) now.
  • Added more output to the InfoDisplay during boot and fixed a bug in console mode.
  • Fixed a bug that was causing the firmware to hang after a slew, if a :Q# command was issued (thanks to user c3n for tracking it down, pun intended).

intercipere and others added 18 commits June 3, 2025 09:09
- OAE support
- AZ/ALT debug output
- Stop button now stop all motors (incl. AZ and ALT)
- Store AZ/ALT steps per degree and allow them to be set from Meade

# Conflicts:
#	src/b_setup.hpp
- fix values and calculations for OAE ALT/AZ motion
- Added more output to the InfoDisplay during boot and fixed a bug in console mode.
- Fixed a bug that was causing the firmware to hang after a slew, if a :Q# command was issued (thanks to user c3n for tracking it down, pun intended).
@openastrotech-bot
Copy link
Contributor

Looks like your PR has code that needs to be changed in order to meet our coding standards!
Here are your options:

  1. Apply the patch that was generated by the job
    1. Click details under the failing clang-format check
    2. Click the Artifacts dropdown in the top right
    3. Download + unzip the clang-format-diff.patch file into the OpenAstroTracker-Firmware repo
    4. Run git apply clang-format-diff.patch to make the changes
    5. Commit and push up the formatted code
  2. Run clang-format locally
    1. Run the command bash -c 'shopt -s nullglob globstar;GLOBIGNORE=./src/libs/TimerInterrupt/*; for i in ./{.,src/**,unit_tests,boards/**}/*.{c,cpp,h,hpp}; do clang-format -i $i; done'
    2. Commit and push up the formatted code

@ClutchplateDude ClutchplateDude changed the title V1.13.17 - Updates V1.13.18 - Updates Jan 13, 2026
@andre-stefanov andre-stefanov self-requested a review January 15, 2026 19:32
src/b_setup.hpp Outdated
#if TEST_VERIFY_MODE == 1
#ifdef OAM
Serial.print(F("Booting OAM Firmware "));
#elif OAE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the first condition is #ifdef OAM which equals #if defined(OAM). the second one is "just" #elif OAE. This could cause issues if OAE flag is defined without a value.

Suggested change
#elif OAE
#elif defined(OAE)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch!

#if USE_GPS == 1
LOG(DEBUG_ANY, "[SYSTEM]: Initializing GPS...");
#if (INFO_DISPLAY_TYPE != INFO_DISPLAY_TYPE_NONE)
int gpsLine = addConsoleText(F("Initialize GPS..."), false);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the argument false? addConsoleText(String text) in b_setup has just one parameter. InfoDisplayRender#addConsoleText on the other side has two parameters ... but second one does not seem to be used anywhere.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Damn, you are on a roll! Yeah, that was a leftover from when I replaced all the calls...


virtual int addConsoleText(String text, bool tinyFont)
{
_textList[_curLine++] = text;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i know it is not part of the PR, but we should check for overflow here. _curLine++ has to be smaller than MAX_CONSOLE_LINES

Otherwise we need a strategy ... maybe one of these:

  • FIFO like: adding a line would drop the first one. This is not that sexy to implement since we would need to shift all the array entries down before adding new line. It would be probably easier by using a ring buffer as structure.
  • drop new line and return an error

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is way out of date file.... urgh... let me check what's going on here.

#error AZ driver address for DRIVER_TYPE_TMC2209_UART not specified.
#endif
#endif
#elif defined(BOARD_OAE_V1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check will not work as expected. BOARD_OAE_V1 is always defined in Constants.hpp. Because of this the #else block will be never reached.

Suggested change
#elif defined(BOARD_OAE_V1)
#elif (BOARD == BOARD_OAE_V1)

#endif
#endif

#elif defined(BOARD_OAE_V1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check will not work as expected. BOARD_OAE_V1 is always defined in Constants.hpp. Because of this the #else block will be never reached.

Suggested change
#elif defined(BOARD_OAE_V1)
#elif (BOARD == BOARD_OAE_V1)

Comment on lines 102 to 103
#elif defined(OAE)
display->drawString(32, 6, F("OpenAstroExplorer"));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate of lines 98-99

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something is wrong in this PR, these are old files...

Comment on lines 7 to 11
/**
* @brief a pins configuration file for an ESP32-based OAT.
*/

#pragma once
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

duplicate of lines 1-5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants