Eureka moment
-
omg! I need to look into this but sadly I'm guessing it'll be outside my skill level.
-
I'm 76 and of a nervous disposition when it comes to soldering, but a strong pair of glasses and a little bit of luck got me through. I'm not saying it was easy but definitely doable. With the two boards in a plastic box (together with the necessary leads - c to usb and mini to usb ) ! think it's a saleable item. The boards have to be programmed but that was pretty straightforward. I have only tried it with simple text but tonight (chores to do !! ) I'm gonna go for it...
-
Sorry about the length ...
PC side
.Net Framework 4
USB port x 1
Switch
Arduino
SparkFun Pro Micro 5V/16MHz x 2 (one is for Virtual Keyboard and another is for UART)
if you have some other UART device, you can use it instead of one ProMicro.Put two ProMicros on the Bread Board
Connect pins with suitable wire:-Pro Micro(Switch side) Pro Micro(PC side)
TXO RXI
RXI TXO
GND GNDinstall ProMicro driver to PC
(Windows 10)
Connect ProMicro and PC with USB cable
Download "Driver on SparkFun"
Install "sparkfun\avr\signed_driver"
Connect ProMicro and PC with USB cableWrite Firmware of Petit4Send to ProMicro(Switch Side)
Connect Pro Micro(Switch Side) with USB cable
Boot Petit4Send
Push [File] -> [Write Firmware] and open [Write Firmware for Pro Micro] dialog.
Select port to which ProMicro is connected, and select "Petit4Send.ino.promicro.hex" file.
Push [Write]
Wait untill "Success" dialog is shown. if it fails, remove cable and try again.
Remove ProMicro from PC.Write firmware of UART to ProMicro(PC Side)
Connect Pro Micro(Switch Side) with USB cable
Boot Petit4Send
Push [File] -> [Write Firmware] and open [Write Firmware for Pro Micro] dialog.
Select port to which ProMicro is connected, and select "USBUART.ino.promicro.hex" file.
Push [Write]
Wait untill "Success" dialog is shown. if it fails, remove cable and try again.
Remove ProMicro from PC.Connect ProMicro(PC side) to PC.
Connect ProMicro(Switch side) to Switch.
Boot Petit4Send on PC.
Open [Typing Send] Tab on PC
Write or Copy&Paste Fuze code you want to send in textbox.
Press [Start].
Code in textbox is sent to Switch as keyboard inputs.I think that covers everything , John
-
Full details. My previous post just removes unwanted stuff - which we wont mention !
http://rei.to/petit4send_en.html
John
-
If you get as far as building the sender, note the following warning:-
Only select the "Typing Send" tab in the Petit4Send app. Please don't attempt to send TXT,GRP or DAT files with the "Send" Tab selected. These files are encoded by the app prior to transmission and will definitely corrupt your existing code in the Fuze4 editor and could cause unforeseen problems elsewhere.
Keep safe, all. -
Just done a quick test and so far found that I need caps lock on to receive lower case and to get "=" I have to send "^". Also - very important - untick "Manage Indents".
There's bound to be a few other snags - just found another! How to send "(" That should be easy. Might be different on your keyboard. Giving it's early days so far it's looking pretty good. I'll plod on .. -
Is it open source? It’d be handy to tweak all that stuff at the source level. And add support for image conversion to Fuze compatible arrays, for those up to the challenge..
-
You'd need to contact the developer for that information. Probably written in C+ but who knows. Programming a SparkFun Pro Micro is beyond me - I just followed the instructions.
-
A bit more work to do. Could be the keyboard - not sure. Had to send text twice. First run always seems to produce garbage.
Hoping to receive this in Fuze:-
//Draw 1000 random lines
var col = { random(101)/100,random(101)/100,random(101)/100,random(101)/100}
clear()for i = 1 to 1000 loop
point1 = {random(gWidth()), random(gHeight())}
point2 = {random(gWidth()), random(gHeight())}
line (point1, point2, col)
repeat
sleep(10)Had to send this:-
//Draw 1000 random lines
var col ^ } random)101)/100,random)101)/100,random)101)/100,random)101)/100{
clear))for i ^ 1 to 1000 loop
point1 ^random)gWidth))), random)gHeight))){ point2 ^
random)gWidth))), random)gHeight))){
line )point1, point2, col)
repeat
sleep)10)Which produced this in Fuze's editor:- I haven't shown it here but lower and upper case were reversed eg Draw came out as dRAW etc, etc.
//Draw 1000 random lines
var col = ~ random(101(/100,random(101(/100,random(101(/100,random(101(/100}
clear((for i = 1 to 1000 loop
point1 = {random(gWidth(((, random(gHeight(((}
point2 = {random(gWidth(((, random(gHeight(((}
line (point1, point2, col(
repeat
sleep(10(I'm going to try a different keyboard and see if that makes any difference.
-
Looks like what I sent to Fuze4 in the previous post got a bit jumbled up. Should be :-
//Draw 1000 random lines
var col ^ } random)101)/100,random)101)/100,random)101)/100,random)101)/100{
clear))for i ^ 1 to 1000 loop
point1 ^random)gWidth))), random)gHeight))){ point2 ^
random)gWidth))), random)gHeight))){
line )point1, point2, col)
repeat
sleep)10)Sorry about that. John
-
Still wrong. Entered it correctly. Anyway you get the general idea.
-
Someone tried using an arduino before in the same way (programmed to act as a keyboard), and was not particularly successful. Their hypothesis was that the switch itself is finicky about what keyboards it works with.
There is another method of emulating a keyboard with an arduino called v-usb https://codeandlife.com/2012/06/18/usb-hid-keyboard-with-v-usb/ which might be woth looking into if the pro micro’s built-in USB isn’t working well..
I don’t know if it’s related to your problem, however. Just a wild suggestion. I haven’t tried any of this myself. (Though I do have some microcontroller somewhere programmed to act as a keyboard. I wonder where that is...)
-
You could also try setting your switch to japanese language and see if that makes a difference..?
-
I think I've located some source code. If you download the Petit4Send1.2.2.zip file, the source code is included. Looks like its written in Basic - assuming I'm looking at the PC end of things.
-
Nope. That’s smile basic code. !
-
Whoops!
I think this would be handy for array data entry if you see what I mean. LU tables, map data, etc,
For example, a chess program could read in external PGN games which can be downloaded from many sources.
Although actual program entry seems to be a problem I still think there are possibilities here for something useful. -
For an Astronomy program, entering the RA and Dec of loads of star locations would be a nightmare. But this data can be downloaded from many sites and transferred over to Fuze. Converting RA and Dec to Alt and Az is straightforward, followed by screen x and y. Up to date comet data, ISS data can then be transferred etc.etc.
Another example would be a simple CAD program which could use external CAD data - buildings, garden data etc.
Perhaps data from Blender could be imported - OBJ files. Now there's an idea !
Midi files could be converted for use by Fuse4.
Many, many other possibilities - too many to mention. -
What happens if you use a terminal program on your PC to send stuff? It looks like the arduino is set up to be a mouse for some reason, but you never know..
-
Here we go...https://people.sc.fsu.edu/~jburkardt/data/obj/obj.html
diamond.obj
g Object001
v 0.000000E+00 0.000000E+00 78.0000
v 45.0000 45.0000 0.000000E+00
v 45.0000 -45.0000 0.000000E+00
v -45.0000 -45.0000 0.000000E+00
v -45.0000 45.0000 0.000000E+00
v 0.000000E+00 0.000000E+00 -78.0000f 1 2 3
f 1 3 4
f 1 4 5
f 1 5 2
f 6 5 4
f 6 4 3
f 6 3 2
f 6 2 1
f 6 1 5Now for a bit of research in how to convert the data and display it in Fuze
-
@toxibunny I'll give it a go.