Eureka moment


  • F

    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 ..


  • F

    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..


  • F

    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.


  • F

    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.


  • F

    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


  • F

    Still wrong. Entered it correctly. Anyway you get the general idea.


  • F

    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...)


  • F

    You could also try setting your switch to japanese language and see if that makes a difference..?


  • F

    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.


  • F

    Nope. That’s smile basic code. !


  • F

    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.


  • F

    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.


  • F

    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..


  • F

    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.0000

    f 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 5

    Now for a bit of research in how to convert the data and display it in Fuze


  • F

    @toxibunny I'll give it a go.


  • F

    Can anyone give us a hand with the code to convert and display the diamond.obj example ?
    Could be on a winner here !


  • F

    If anyone wants to try writing an astronomy program, all the calculations are in "Practical Astronomy With Your Calculator" by Peter Duffet-Smith.


  • F

    @faz808 said in Eureka moment:

    Can anyone give us a hand with the code to convert and display the diamond.obj example ?
    Could be on a winner here !

    Have you transferred the data to Fuze? In that case, share it and we will see if someone can do something!


  • F

    OBJ Data transferred via petit4send - no problems.

    obj_reader ID:5YUZ7MND15 (pending)


  • F

    Just tried a 1800 element OBJ file. Went fine - took about 10 minutes to transfer 400 elements but I didn't transfer all 1800. Looks great. Even 400 elements would be a lot of typing - prone to errors. This is going to be great for large amounts of data.


Log in to reply