From the big, long thread in post 455, I found:
Quote: Originally Posted by
2k1Toaster 
Code:
...
Analogue Input Ports
#STARTNEW#
#NAME#
#TYPE#
#SETTINGS#
#VIDPID#
#IMAGESTATIC#
#SIZE#
#LOCATION#
#SHOWTEXT#
#PAGE#
#PORT#
#TXTCOLOUR#
#BORDERSIZE#
#FONT#
#PLOTLENGTH#
#MULTILEVELGRAPHICS#
#HIGHTHRESHHOLD#
#LOWTHRESHHOLD#
#HIGHKEYSEQUENCE#
#HIGHMAINWINDOWTITLE#
#HIGHSUBWINDOWTITLE#
#HIGHMAINCLASS#
#HIGHSUBCLASS#
#LOWKEYSEQUENCE#
#LOWMAINWINDOWTITLE#
#LOWSUBWINDOWTITLE#
#LOWMAINCLASS#
#LOWSUBCLASS#
#ENDNEW#
...
And #458
Quote: Originally Posted by
2k1Toaster 
The 5 areas are:
>>MAIN
<<END
>>OUTPUTS
<<END
>>AI_INPUTS
<<END
>>DI_INPUTS
<<END
>>OTHERBUTTONS
<<END
To make a button you will need to put it within the needed brackets.
Its starts with #STARTNEW# and ends with #ENDNEW#
Then the factors inside are all the options for it. Some are required are some arent. Youll know which ones are required because it wont work or the program will crash.
In order for the i/o buttons to work they need to know what port they are on. The Ports are 0 index based. And multiple buttons can be assigned to the same port. So on all pages you could have a button for "launch missles" but only on 1 page would there be a confirm or something.
Now each i/o will also need a PID/VID. For all the ones that are currently out, use the string without quotes "vid_04d8&pid_000c" This is now what allows you to have multiple brains. Just assign different ports with dirrent pid's to different buttons.
All the outputs need to have #TYPE# of RELAY right now. That is the only working one.
if there is an animation, it must be #ANIMATION# and then the frames are between {} and the actual on/off states are 1 or 0 seperated by commas. Then 2 colons "::" and how many time to repeat. FOREVER or an integer value. Then the last one is the starting frame seperated by 2 colons again. 0 is what it should be left as.
And in the Brain/Skins/ Win 25$ thread, post #4
Quote: Originally Posted by
2k1Toaster 
This is the configuration for the Analogue Input Ports as well as an example below:
Code:
>>AI_INPUTS
#STARTNEW#
#NAME#RAW VOLTAGE
#TYPE#VOLTAGE
#SETTINGS#CELCIUS
#VIDPID#vid_04d8&pid_000c
#IMAGESTATIC#\Images\BMV2_Button.gif
#SIZE#190,50
#LOCATION#80,350
#SHOWTEXT#true
#PAGE#0
#PORT#0
#TXTCOLOUR#LightGray
#BORDERSIZE#0
#FONT#Arial Narrow;18;BOLD
#PLOTLENGTH#100
#ENDNEW#
<<END
#NAME#Text to AppearThe Text To Appear is what appears on the button over the image. For example have textual buttons as well as or instead of all graphical buttons/icons.
#TYPE#ACCELEROMETER|PHOTOELECTRIC|PHOTOELECTRIC|PO TENTIOMETER|TEMPERATURE|VOLTAGEThe type of the sensor connected to the port. Used to determine how to parse the SETTINGS area.
#VIDPID#vidpidIf you use multiple firmware versions, then you need to change this. Default is vid_04d8&pid_000c
#IMAGESTATIC#path#IMAGESTATIC# is the image to display for the input. Follows the same rules as the background image in the main section. The root folder is determined as the folder that the program was launched out of. So if you launch the program from C:\Fusion and have your images in C:\Fusion\images\button1.jpg then path would be \images\button1.jpg
#SIZE#width, height
#LOCATION#x,yBoth comma seperated. for LOCATION 0,0 refers to the top left corner.
#SHOWTEXT#true|falseIf true then the text from NAME will be displayed on the button otherwise nothing will show.
#PAGE#xWhere x is the page where this button will be drawn. 0 is the first page. You can have unlimited amount of pages.
#PORT#This is needed to determine which output this button connects to. Must be a value between 0 and 9 because there are only 10 analogue inputs on the board.
#TXTCOLOUR#ColourThe text will be the TXTCOLOURcolour. Needs a name such as Red, Blue, Green, Black, White and other standard colors. Default is LightGray and DarkGray to go with the BMV2 skin.
#BORDERSIZE#xThe border around the button. Set to 0 for graphical skins.
#FONT#name;pt size;extra styleThe font for the text on the button
#PLOTLENGTH#When you draw a graph, this is the number of data points will be stored on the graph. The rest of the points will be stored in a log file.
#MULTILEVELGRAPHICS#
#HIGHTHRESHHOLD#
#LOWTHRESHHOLD#
#HIGHKEYSEQUENCE#
#HIGHMAINWINDOWTITLE#
#HIGHSUBWINDOWTITLE#
#HIGHMAINCLASS#
#HIGHSUBCLASS#
#LOWKEYSEQUENCE#
#LOWMAINWINDOWTITLE#
#LOWSUBWINDOWTITLE#
#LOWMAINCLASS#
#LOWSUBCLASS#
#ENDNEW#
Which is the best writeup so far:
The black skin has this as the second input:
Code:
<<AI_INPUTS
#STARTNEW#
#NAME#Volume
#TYPE#POTENTIOMETER
#VIDPID#MyBrain0
#MULTILEVELGRAPHICS##0,4.3#\Black Skin\Analogue Graphs\Volume\Bar8.png;\Black Skin\Analogue Graphs\Volume\Bar7.png;\Black Skin\Analogue Graphs\Volume\Bar6.png;\Black Skin\Analogue Graphs\Volume\Bar5.png;\Black Skin\Analogue Graphs\Volume\Bar4.png;\Black Skin\Analogue Graphs\Volume\Bar3.png;\Black Skin\Analogue Graphs\Volume\Bar2.png;\Black Skin\Analogue Graphs\Volume\Bar1.png;\Black Skin\Analogue Graphs\Volume\Bar0.png
#SIZE#92,144
#LOCATION#24,19
#SHOWTEXT#false
#PAGE#0
#PORT#0
#BORDERSIZE#0
#PLOTLENGTH#100
#HIGHTHRESHHOLD#d0.05
#LOWTHRESHHOLD#d-0.05
#HIGHKEYSEQUENCE#DOWN
#LOWKEYSEQUENCE#UP
#HIGHMAINWINDOWTITLE#winamp
#LOWMAINWINDOWTITLE#winamp
#ENDNEW#
...
<<END
I'm going to need to know more about this, and my apologies if this isn't extremely self explanitory for me:
with
Code:
#MULTILEVELGRAPHICS##0,4.3#\Black Skin\Analogue Graphs\Volume\Bar8.png;\Black Skin\Analogue Graphs\Volume\Bar7.png;\Black Skin\Analogue Graphs\Volume\Bar6.png;\Black Skin\Analogue Graphs\Volume\Bar5.png;\Black Skin\Analogue Graphs\Volume\Bar4.png;\Black Skin\Analogue Graphs\Volume\Bar3.png;\Black Skin\Analogue Graphs\Volume\Bar2.png;\Black Skin\Analogue Graphs\Volume\Bar1.png;\Black Skin\Analogue Graphs\Volume\Bar0.png
What does the 0,4.3 stand for?
Is it a minimum and maximum voltage?
How does it know what level to increment to the next level of the graphic?
Is the static image just like a background image for the 'meter'?
Code:
#HIGHTHRESHHOLD#d0.05
#LOWTHRESHHOLD#d-0.05
Is this what tells what each increment is?
And I have no idea what
Code:
#HIGHKEYSEQUENCE#DOWN
#LOWKEYSEQUENCE#UP
is for...
Nick did an excellent job describing the first part of the properties for analog inputs (and the others) I just need a little help with the rest now, I'm experimenting on my own, but a little direction may save a lot of trial and error.
I'm using analog in as a home for what will be analog out to a driver for my fan in the AC circuit,for skin testing purposes. It would be nice if a lot of the same stuff from analog in carried over, so we can see what we're telling something to do without requiring seperate input feedback (that's usually reserved for critical processes in my experience).
EDIT: I was briefly able to get past the errors enough to see the meat of the analog input editor, that stuff helps a lot, sorry I wasn't able to see that before, the only successes I'm having are trial and error based, using a barebones skin in the editor to see how it's supposed to work, and then using notepad, FCC and debug to implement what I want. It's slow going, but at least I found a way to get some of the reference material I needed.