Skip to content

Console Panel

francis edited this page Oct 14, 2025 · 1 revision

Console Panel

The Console Panel displays communication between ncSender and your CNC controller in real-time. It shows all commands sent, responses received, and provides a manual command input for direct controller interaction.

Console Panel Overview Screenshot: Console panel showing command history and input

Overview

The Console Panel is located in the right-side panel and includes:

  • Command history display: Scrolling log of all communications
  • Command input field: Send manual commands to controller
  • Clear button: Clear the console history
  • Auto-scroll: Automatically scrolls to show newest messages

Console Display

Message Types

The console displays different types of messages with visual distinction:

Console Message Types Screenshot: Different message types in console

Sent Commands (typically blue or accent color):

  • Commands sent from ncSender to controller
  • Includes jog commands, G-code lines, settings changes
  • Prefixed with > or

Controller Responses (typically standard text color):

  • ok: Command executed successfully
  • error:X: Command failed (X is error code)
  • Status messages from controller
  • Alarm notifications

System Messages (typically muted/gray):

  • ncSender internal messages
  • Connection status changes
  • File loading notifications
  • Progress updates

Error Messages (typically red):

  • Connection errors
  • Parsing errors
  • Failed operations
  • Alarm codes with descriptions

Status Reports

Real-time status reports appear periodically:

<Idle|MPos:0.000,0.000,0.000|WPos:0.000,0.000,0.000|FS:0,0>

These show:

  • Machine state (Idle, Run, Hold, Alarm, etc.)
  • Machine position (MPos)
  • Work position (WPos)
  • Feed rate and spindle speed (FS)

Note: Status reports update automatically. You don't need to request them manually.

Sending Manual Commands

Command Input Field

Command Input Field Screenshot: Command input field with example command

Located at the bottom of the console:

  1. Click the input field
  2. Type your command
  3. Press Enter to send
  4. Command appears in console history

Common Commands

Status and Information:

  • ?: Request status report
  • $$: View all settings
  • $#: View coordinate offsets
  • $G: View parser state
  • $I: View build info

Control Commands:

  • $H: Run homing cycle
  • $X: Unlock (clear alarm)
  • Ctrl+X or \x18: Soft reset
  • ~: Resume from feed hold
  • !: Feed hold (pause)

Coordinate Systems:

  • G54 through G59: Switch work coordinate system
  • G10 L20 P1 X0 Y0 Z0: Set current position as work zero in G54
  • G92 X0 Y0 Z0: Set current position as zero (temporary)

Movement:

  • G0 X10 Y10: Rapid move to position
  • G1 X10 Y10 F1000: Linear move at feed rate
  • G90: Absolute positioning mode
  • G91: Incremental positioning mode

Warning: Manual commands directly control the machine. Ensure you understand the command before sending.

Command History

Press Up Arrow to recall previous commands:

  • Navigate through command history
  • Edit and resend previous commands
  • Useful for repetitive operations

Auto-Scroll Behavior

Auto-Scroll Toggle Screenshot: Auto-scroll behavior when enabled

When Enabled (default):

  • Console automatically scrolls to bottom
  • Always shows newest messages
  • Stays current during active jobs

When Disabled:

  • Console stays at your scroll position
  • Useful for reviewing older messages
  • New messages still appear (scroll down to see them)

How to Toggle:

  • Scroll up manually to disable auto-scroll
  • Scroll to bottom to re-enable
  • Or use setting in Settings > Application

Clear Console

Clear Button Screenshot: Clear console button

Clear Button:

  • Located at top of console panel
  • Clears all messages from display
  • Does not affect controller state
  • Command history still available (up arrow)

When to Clear:

  • Console becomes cluttered
  • Starting new operation
  • Troubleshooting specific issue
  • Looking for specific recent messages

Use Cases

Debugging G-code

Watch commands execute line-by-line:

  1. Load G-code file
  2. Watch console during execution
  3. Identify problematic lines
  4. Note error codes and messages

G-code Debugging Screenshot: Console showing G-code execution with error

Troubleshooting Connections

Monitor connection status:

  • Connection established messages
  • Communication errors
  • Timeout warnings
  • Reconnection attempts

Setting Work Offsets Manually

Instead of using buttons, send commands directly:

G10 L20 P1 X0 Y0 Z0
  • Sets G54 work offset to current position
  • Useful for scripting or macros
  • More control than button interface

Viewing Machine State

Check detailed machine state:

  1. Send $G to see modal states
  2. View active G-codes (G54, G90, G21, etc.)
  3. Understand current parser state
  4. Useful before starting job

Machine State Display Screenshot: Machine state response showing modal groups

Emergency Operations

Quick access to critical commands:

  • Type $X and Enter to unlock alarm
  • Ctrl+X for immediate soft reset
  • ~ to resume from hold
  • Faster than finding buttons

Error Codes

When errors occur, console displays error codes:

Error Code Example Screenshot: Error message with code and description

Common Error Codes:

  • Error:1 - G-code command letter not found
  • Error:2 - Missing G-code number
  • Error:3 - Invalid $ setting number
  • Error:9 - G-code locked (alarm state)
  • Error:20 - Unsupported command
  • Error:24 - Jog target exceeds machine travel

Full error code reference available in GrblHAL documentation.

Alarm Codes

Alarm codes indicate machine safety states:

Alarm Code Example Screenshot: Alarm message with explanation

Common Alarms:

  • Alarm:1 - Hard limit triggered
  • Alarm:2 - Soft limit triggered
  • Alarm:3 - Abort during cycle
  • Alarm:4 - Probe fail
  • Alarm:5 - Probe fail (probe not triggered)
  • Alarm:9 - Homing fail

Clearing Alarms:

  1. Identify cause of alarm
  2. Fix the problem
  3. Send $X to unlock
  4. Or use Unlock button in toolbar

Console Filtering

Currently, ncSender displays all messages. Future versions may include:

  • Filter by message type
  • Hide status reports
  • Show only errors
  • Search/find in console

Performance

Large Command Logs:

  • Console history has size limit
  • Oldest messages removed automatically
  • Doesn't affect controller communication
  • Clear console if performance degrades

High-Speed Operations:

  • Messages may appear rapidly during jobs
  • Auto-scroll keeps up with new messages
  • Some messages may batch together
  • Does not impact job execution

Tips and Tricks

Copy Messages

Copy Console Text Screenshot: Selecting and copying console text

Select text in console:

  • Click and drag to select
  • Ctrl+C or Cmd+C to copy
  • Paste into text editor or support request

Timestamped Logs

Enable timestamps in Settings:

  • Shows exact time of each message
  • Useful for troubleshooting timing issues
  • Helps correlate events

Command Shortcuts

Create macros for frequently used commands:

  • See Macros page
  • Save common command sequences
  • One-click execution

Monitor During Probing

Watch console during probing operations:

  • See probe commands sent
  • Monitor probe trigger
  • Verify correct behavior
  • Catch errors early

Keyboard Shortcuts

  • Enter: Send command
  • Up Arrow: Previous command
  • Down Arrow: Next command (if navigating history)
  • Ctrl+C / Cmd+C: Copy selected text
  • Ctrl+L / Cmd+L: Focus command input (if supported)

Integration with Other Panels

The console works with:

Troubleshooting

Commands not sending

Check:

  • Controller is connected
  • No alarm state (unlock if needed)
  • Valid command syntax
  • Console input field is focused

Console not updating

Try:

  • Check connection status
  • Restart application
  • Clear console and retry
  • Verify controller is responding (send ?)

Can't see recent messages

Solution:

  • Scroll to bottom
  • Enable auto-scroll
  • Clear old messages
  • Increase console buffer size in settings

Too many messages

Solutions:

  • Clear console regularly
  • Disable auto-scroll when reviewing
  • Copy important messages before clearing
  • Use filtering when available

Related Topics

Clone this wiki locally