avoid "autocallibration", scaling
Moderator: Moderators
avoid "autocallibration", scaling
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
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
Re: avoid "autocallibration", scaling
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.
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.
Re: avoid "autocallibration", scaling
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...
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...
Re: avoid "autocallibration", scaling
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.
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.
Re: avoid "autocallibration", scaling
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
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
Re: avoid "autocallibration", scaling
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 wrote:Is it possible (for you) to make firmwareupdate to mouse with USB-cable?
Re: avoid "autocallibration", scaling
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
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
Re: avoid "autocallibration", scaling
No. These possibilities are not something we can consider.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?
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.
Re: avoid "autocallibration", scaling
wow, i am impressed...
Thanks, so much.
I will try and give answer.
Do you have news about "treshhold"?
Regards
Thanks, so much.
I will try and give answer.
Do you have news about "treshhold"?
Regards
Re: avoid "autocallibration", scaling
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.Toolsoft wrote:Do you have news about "treshhold"?
What you cannot avoid is the dual button press to reset.
Re: avoid "autocallibration", scaling
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
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
Re: avoid "autocallibration", scaling
If you do not need to reactivate the feature, you can set all to 1 or something else (non-zero).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?
I do not have this list available.Can you send me a list of all GetFeatures and SetFeature Commands?
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).
Re: avoid "autocallibration", scaling
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
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
Re: avoid "autocallibration", scaling
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
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
Re: avoid "autocallibration", scaling
Hi Toolsoft,
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).
No.Is it possible to improve the wireless distance via feature commands?
Same answer as above: no.Is it possible to set more power for the transmitter on any way?
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).