Skip to content

SP_ERR_SUP just trying to open port on MacOS 10.10 #2

Open
@jimbojsb

Description

@jimbojsb

Given the following simple example of attempting to write to an Arduino Uno:

    serial.SetDebug(true)
    options := serial.RawOptions
    options.Parity = serial.PARITY_EVEN

    port, err := options.Open("dev/cu.usbmodem14131")
    if err != nil {
        fmt.Println(err)
    }

I get the following output:

sp_set_debug_handler returning.
sp_get_port_by_name(/dev/cu.usbmodem14131, 0xc20801d5d8) called.
Building structure for port /dev/cu.usbmodem14131.
Getting serial port list.
Iterating over results.
Found port /dev/cu.usbmodem14131.
Found USB class device.
Found description Arduino Uno.
Found matching USB bus:address 010:007.
Found matching USB vid:pid 2341:0001.
Found manufacturer Arduino (www.arduino.cc).
Found product name Arduino Uno.
Found serial number 649383233313513141E1.
get_port_details returning SP_OK.
sp_get_port_by_name returning SP_OK.
sp_copy_port(0x4600020, 0xc208040190) called.
Copying port structure.
sp_get_port_by_name(/dev/cu.usbmodem14131, 0xc208040190) called.
Building structure for port /dev/cu.usbmodem14131.
Getting serial port list.
Iterating over results.
Found port /dev/cu.usbmodem14131.
Found USB class device.
Found description Arduino Uno.
Found matching USB bus:address 010:007.
Found matching USB vid:pid 2341:0001.
Found manufacturer Arduino (www.arduino.cc).
Found product name Arduino Uno.
Found serial number 649383233313513141E1.
get_port_details returning SP_OK.
sp_get_port_by_name returning SP_OK.
sp_copy_port returning 0.
sp_open(0x4600120, 0x1) called.
Opening port /dev/cu.usbmodem14131.
get_config(0x4600120, 0x7fff5fbff7b0, 0x7fff5fbff788) called.
Getting configuration for port /dev/cu.usbmodem14131.
get_config returning SP_OK.
set_config(0x4600120, 0x7fff5fbff7b0, 0x7fff5fbff788) called.
Setting configuration for port /dev/cu.usbmodem14131.
set_config returning SP_OK.
sp_open returning SP_OK.
sp_new_config(0xc2080401a0) called.
sp_new_config returning SP_OK.
sp_get_config(0x4600120, 0x4700000) called.
get_config(0x4600120, 0x7fff5fbff7b8, 0x4700000) called.
Getting configuration for port /dev/cu.usbmodem14131.
get_config returning SP_OK.
sp_get_config returning SP_OK.
sp_new_config(0xc20801d5d0) called.
sp_new_config returning SP_OK.
sp_set_config_bits(0x4700030, 8) called.
sp_set_config_bits returning SP_OK.
sp_set_config_stopbits(0x4700030, 1) called.
sp_set_config_stopbits returning SP_OK.
sp_set_config_parity(0x4700030, 2) called.
sp_set_config_parity returning SP_OK.
sp_set_config_flowcontrol returning SP_OK.
sp_set_config(0x4600120, 0x4700030) called.
get_config(0x4600120, 0x7fff5fbff7b8, 0x7fff5fbff790) called.
Getting configuration for port /dev/cu.usbmodem14131.
get_config returning SP_OK.
set_config(0x4600120, 0x7fff5fbff7b8, 0x4700030) called.
Setting configuration for port /dev/cu.usbmodem14131.
set_config returning SP_ERR_SUPP: RTS & CTS flow control must be disabled together.
sp_set_config returning SP_ERR_SUPP.
sp_free_config(0x4700030) called.
sp_free_config returning.
sp_close(0x4600120) called.
Closing port /dev/cu.usbmodem14131.
sp_close returning SP_OK.
The requested operation is not supported by this system or device

My goal is to 1) be able to use 9600 8E1 instead of 8N1 (this go program is a simulator for a real world device that's hard to access, and only speak 8E1), and 2) Ideally completely turn off flow control in an effort to stop the Arduino auto-reboot on connect (less important). I took a look at serial.c but couldn't quite figure out how it'd get into that state, since I think it should be using no flow control at all by default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions