avoid "autocallibration", scaling

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

avoid "autocallibration", scaling

Post by Toolsoft » Mon Mar 02, 2015 5:35 am

Hello,

i have a "Wireless Spacemouse" and i communicate with HID-Commands (XP/Win7)
Now i have some problems

1) i want that the Spacemouse do not make a "autocallibration"
I don't want that small constant movements after 1s go to "zero"
Is it possible to avoid this?
2) if Spacemouse is "callibrated", that means that all 6DOF are 0 then small mechanical movements
do not make changes at the output-values. Is there a way to avoid this "treshhold"-value?
3) Are there HID-commands (writefile()) to make some modifications i need, or some other modifications?

Regards

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Mon Mar 02, 2015 7:24 am

Hi Toolsoft,

Perhaps the issue isn't the small displacement as much as the fact that you are applying a constant displacement?

The "auto-calibration" follows an algorithm that detects constant displacement. Normally, end-users will not hold the SMW sensor cap in a fixed position that causes the algorithm to trigger a re-calibration.

What is your use-case? (This is just out of curiosity.)

We're looking if you can disable the auto-calibration from a user-mode program.

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Mon Mar 02, 2015 7:46 am

Hi ngomes,

thanks for answer.

Yes, it will be curiosity application.
Is want to use the 3D-Mouse as Sensor of accelleration with the mass of the "Button" as detected mass.
It works (for 1s) if you move/turn 180° the Spacemouse in the air.
Because of that best for me is to get the "real-RAW"-displacement of all 6DOF. Not -350..+350, i need for example 0...1023 of real displacement of every DOF.
I will do all zero-callibration by my own.

That means i have "dead"-zone treshhold around 0-Value.
For me the output-data looks like:
DOF -> Ouput
0 -> 0
1 -> 0
2 -> 0
3 -> 0
4 -> 0
5 -> 0
6 -> 1
7 -> 2
8 -> 3
9 -> 4
10 -> 5
and so on...

There is an additional "hardware"-feature which i also not want.:
If you press 3s the two buttons together the Spacemouse makes callibration
I also want to avoid it.

... so many wishes...

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Mon Mar 02, 2015 8:09 am

We're collecting information to see if we can help.

3Dconnexion also produces a sensor module for industrial applications. It may be more suitable to what you're trying to do (using the device as an accelerometer). There's a spec sheet and a contact form if you need further information.

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Mon Mar 02, 2015 8:26 am

Hi ngomes,

thanks.
I want to use the standard wireless Spacemouse not industrial version.
I only need perhaps some "little" features.
If you have solution i will be glad.
Is it possible (for you) to make firmwareupdate to mouse with USB-cable?

Regards

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Mon Mar 02, 2015 8:50 am

Toolsoft wrote:Is it possible (for you) to make firmwareupdate to mouse with USB-cable?
The SMW firmware can be updated. The device needs to be connected to the host system by a cable (firmware cannot be updated over a wireless connection).

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Mon Mar 02, 2015 8:55 am

perfect...

Is it possible for me as user to develop firmware for the SMW?
Or do you think its possible for you to make the needed modifications for me?
Perhaps there is a way without firmwaremodifications...

Regards

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Mon Mar 02, 2015 9:02 am

Toolsoft wrote:Is it possible for me as user to develop firmware for the SMW?
Or do you think its possible for you to make the needed modifications for me?
No. These possibilities are not something we can consider.

You can disable the "auto-calibration" feature using the feature report ID 0x19.

There are four bytes. I believe the least significant byte (LSB) can be set to 0 (disable "auto-calibration") or 1 (enable). Default is 1 (enable). The remaining bytes should be left unchanged.

Try using HID to read these four bytes, changing the LSB to zero and then writing the four bytes back to the device. Note that you will need to repeat this operation after the device returns from a power-down state.

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Mon Mar 02, 2015 9:16 am

wow, i am impressed...
Thanks, so much.
I will try and give answer.

Do you have news about "treshhold"?

Regards

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Mon Mar 02, 2015 10:04 am

Toolsoft wrote:Do you have news about "treshhold"?
Still chasing that... I suspect you will not be able to reduce the rest position "hyperbox" (six-dimensions) right down to zero. As soon as I have it confirmed, I will follow up here.

What you cannot avoid is the dual button press to reset.

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Mon Mar 02, 2015 4:46 pm

Hi ngomes,

i have success, writing feature with report ID 0x19 works fine.
"auto-calibration" is now disabled
But i can not read feature report ID 0x19.
Perhaps you can send me the starting-values (4bytes) of the feature report ID 0x19?

Can you send me a list of all GetFeatures and SetFeature Commands?

Regards

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Tue Mar 03, 2015 1:29 am

Toolsoft wrote:But i can not read feature report ID 0x19.
Perhaps you can send me the starting-values (4bytes) of the feature report ID 0x19?
If you do not need to reactivate the feature, you can set all to 1 or something else (non-zero).
Can you send me a list of all GetFeatures and SetFeature Commands?
I do not have this list available.

You can reduce the size of the rest position "radius" by using feature report ID 0x13. This is one byte with default value 26 (decimal). Note this report only works over a cable connection (not through a wireless connection).

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Tue Mar 03, 2015 3:10 am

Hi ngomes,

perfect, it works like you say.
Only one bad thing: ID 0x13 (not through a wireless connection)
But i can live with it.

Thanks so much for your help.

Regard

Toolsoft
Posts: 15
Joined: Sun Feb 08, 2015 3:02 am

Re: avoid "autocallibration", scaling

Post by Toolsoft » Wed Mar 04, 2015 11:45 am

I have one additional question...

Is it possible to improve the wireless distance via feature commands?
Is it possible to set more power for the transmitter on any way?
I need longer distance from nano stick to wireless mouse.

Regards

ngomes
Moderator
Moderator
Posts: 2416
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: avoid "autocallibration", scaling

Post by ngomes » Wed Mar 04, 2015 12:19 pm

Hi Toolsoft,
Is it possible to improve the wireless distance via feature commands?
No.
Is it possible to set more power for the transmitter on any way?
Same answer as above: no.

If you absolutely need a longer range, consider using an extension cable to bring the receiver dongle closer to the device. That's probably the easiest way to resolve the range issue. If that's not an option, you may want to see if you can use some sort of proxy over a wireless connection. For example a small single-board Linux machine (like a Raspberry Pi) and some sort of USB-over-IP solution (such as the USB/IP project).

Post Reply