USB/BlueTooth classes?

33 views
Skip to first unread message

Jimmy Johnson

unread,
Jan 26, 2025, 12:24:02 AMJan 26
to Eiffel Users
Are there Eiffel classes for connecting & sending byte streams over BlueTooth or USB.  (I want to send bytes to a Lego Mindstorms NXT robot.)
jjj

Liberty Lover

unread,
Dec 26, 2025, 4:30:29 PM (4 days ago) Dec 26
to Eiffel Users

Liberty Lover

unread,
Dec 26, 2025, 4:36:59 PM (4 days ago) Dec 26
to eiffel...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/a10b4ef7-ac8e-4e90-84ef-d33b1d5f0429n%40googlegroups.com.

Jimmy Johnson

unread,
Dec 26, 2025, 11:57:12 PM (4 days ago) Dec 26
to Eiffel Users
Does/will it work on Mac?

Liberty Lover

unread,
Dec 27, 2025, 6:26:40 AM (3 days ago) Dec 27
to eiffel...@googlegroups.com
Hi Jimmy,

Currently simple_bluetooth is Windows-only. It relies on simple_serial which uses Win32 serial port APIs, and Windows Bluetooth pairing exposes SPP devices as COM ports.

Mac support is technically feasible but would require:
  1. Extending simple_serial to support POSIX termios (Mac/Linux serial)
  2. Adding IOBluetooth framework integration for Mac device discovery

This is on our radar but not yet scheduled. If there's interest from the community, it could move up the priority list.

Cheers,

Larry

Ulrich Windl

unread,
Dec 27, 2025, 8:17:34 AM (3 days ago) Dec 27
to eiffel...@googlegroups.com
Could it be you posted the same message multiple times?

26.12.2025 22:30:28 Liberty Lover <rix....@gmail.com>:
> --
> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/a10b4ef7-ac8e-4e90-84ef-d33b1d5f0429n%40googlegroups.com[https://groups.google.com/d/msgid/eiffel-users/a10b4ef7-ac8e-4e90-84ef-d33b1d5f0429n%40googlegroups.com?utm_medium=email&utm_source=footer].

Ulrich Windl

unread,
Dec 27, 2025, 8:23:57 AM (3 days ago) Dec 27
to eiffel...@googlegroups.com
It seems to me we should have a Bluetooth class inheriting from either Bluetooth_Windows or Bluetooth_Mac. The challenge is to have the same interface for both platforms. And with experience the Bluetooth class wouldn't have to be changed when a new platform is added.

Ulrich

27.12.2025 12:26:26 Liberty Lover <rix....@gmail.com>:

> Hi Jimmy,
>
> Currently simple_bluetooth is Windows-only. It relies on simple_serial which uses Win32 serial port APIs, and Windows Bluetooth pairing exposes SPP devices as COM ports.
>
> Mac support is technically feasible but would require:
>   1. Extending simple_serial to support POSIX termios (Mac/Linux serial)
>   2. Adding IOBluetooth framework integration for Mac device discovery
>
> This is on our radar but not yet scheduled. If there's interest from the community, it could move up the priority list.
>
> Cheers,
>
> Larry
>
> On Fri, Dec 26, 2025 at 11:57 PM Jimmy Johnson <eiffe...@gmail.com> wrote:
>> Does/will it work on Mac?
>>
>>
>> On Friday, December 26, 2025 at 2:36:59 PM UTC-7 rix....@gmail.com wrote:
>>>   see also:  claude_eiffel_op_docs/designs/simple_bluetooth_design.md at main · simple-eiffel/claude_eiffel_op_docs[https://github.com/simple-eiffel/claude_eiffel_op_docs/blob/main/designs/simple_bluetooth_design.md]
>>>
>>>
>>> On Fri, Dec 26, 2025 at 4:30 PM Liberty Lover <rix....@gmail.com> wrote:
>>>> Everyone,
>>>>
>>>> See the following:
>>>>
>>>> https://github.com/simple-eiffel/simple_bluetooth
>>>>
>>>> https://github.com/simple-eiffel/simple_serial
>>>>
>>>> You're welcome!
>>>>
>>>> Best,
>>>>
>>>> Larry
>>>>
>>>> On Sunday, January 26, 2025 at 12:24:02 AM UTC-5 eiffe...@gmail.com wrote:
>>>>> Are there Eiffel classes for connecting & sending byte streams over BlueTooth or USB.  (I want to send bytes to a Lego Mindstorms NXT robot.)
>>>>> jjj
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
>>>> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/a10b4ef7-ac8e-4e90-84ef-d33b1d5f0429n%40googlegroups.com[https://groups.google.com/d/msgid/eiffel-users/a10b4ef7-ac8e-4e90-84ef-d33b1d5f0429n%40googlegroups.com?utm_medium=email&utm_source=footer].
>>
>> --
>> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
>> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/5df31f84-7c2b-45ec-941a-d77d5f9af911n%40googlegroups.com[https://groups.google.com/d/msgid/eiffel-users/5df31f84-7c2b-45ec-941a-d77d5f9af911n%40googlegroups.com?utm_medium=email&utm_source=footer].
>
> --
> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/CA%2B3qnjebcNxwuwN7jwkMqptbiW-t0RmuHq3GmZukFquBHks6Kg%40mail.gmail.com[https://groups.google.com/d/msgid/eiffel-users/CA%2B3qnjebcNxwuwN7jwkMqptbiW-t0RmuHq3GmZukFquBHks6Kg%40mail.gmail.com?utm_medium=email&utm_source=footer].

rfo amalasoft.com

unread,
Dec 27, 2025, 9:01:50 AM (3 days ago) Dec 27
to eiffel...@googlegroups.com
Taking a cue from EiffelVision, having an 'implementation' feature that refers to the Win/Mac/Linux implementations and an abstract common class has worked well for quite a while and should be a way also to insulate (thanks to abstraction) any implementation-specific changes.  Of course, this would require a good model, but I suspect this crowd could come up with such a thing.
R

From: eiffel...@googlegroups.com <eiffel...@googlegroups.com> on behalf of Ulrich Windl <u202...@gmail.com>
Sent: Saturday, December 27, 2025 8:23 AM
To: eiffel...@googlegroups.com <eiffel...@googlegroups.com>
Subject: Re: [eiffel-users] Re: USB/BlueTooth classes?
 

Liberty Lover

unread,
Dec 27, 2025, 9:16:24 AM (3 days ago) Dec 27
to eiffel...@googlegroups.com
Yes, I did. I didn't know where it would get covered and who all would see it. Sorry if it was overly redundant. I just wanted to ensure it was shared to everyone who might care.

Jimmy Johnson

unread,
Dec 27, 2025, 1:44:11 PM (3 days ago) Dec 27
to Eiffel Users
Larry,

Ask Claud if he could do Eiffel-only bluetooth that does not rely on other libraries.

Liberty Lover

unread,
Dec 27, 2025, 1:52:59 PM (3 days ago) Dec 27
to eiffel...@googlegroups.com
  Hi Jimmy,

  I asked Claude, and here's the reality:

  "Eiffel-only" Bluetooth isn't possible - Bluetooth is hardware, and you must go through OS APIs to access it. There's no avoiding C/system calls.

  However, simple_bluetooth already minimizes dependencies:
  - No external C libraries required
  - No third-party DLLs
  - Uses inline C externals to call Win32 APIs directly
  - All C code is embedded in Eiffel source files

  The dependency chain is:
  simple_bluetooth → simple_serial → Win32 COM port APIs (built into Windows)

  That's as lean as it gets. The only "library" it uses is the Windows operating system itself.

  For Mac/Linux, you'd similarly call IOBluetooth (Mac) or BlueZ (Linux) through inline C - still no third-party dependencies, just different OS APIs behind the same Eiffel interface.

  What Ulrich and Roger suggested (EiffelVision-style abstraction with platform implementations) is exactly how we'd structure cross-platform support.

  Cheers,
  Larry

Jimmy Johnson

unread,
Dec 27, 2025, 2:25:33 PM (3 days ago) Dec 27
to Eiffel Users
Yes, inline C is fine.  I want to connect on Mac.

Liberty Lover

unread,
Dec 27, 2025, 2:30:42 PM (3 days ago) Dec 27
to eiffel...@googlegroups.com
To make that happen for Mac, I need to get my Mac mini finalized for Eiffel and the simple_* ecosystem. I started to do it, but got distracted. Perhaps the coming week.

Reply all
Reply to author
Forward
0 new messages