It took a while but here is version 1.0.0-beta7
:)Download location;
http://download.savannah.gnu.org/releases/pulsefire/1.0.0-Beta7/(download ui-launch4j for windows and ui-dist for other platforms)
Chip changes from beta1;
- Added adc_enable bitfield to enable input readouts.
- Added dic_enable/dic_inv/dic_sync bitfield per digital input.
- Fixed makefile for mega 2650 and 1280.
- Fixed internal event pulse_fire trigger.
- Changed Freq from *10 to *100 for better readout and fixed bank_B support.
- Added pulse_trigger EXT_FIRE for combined trigging source.
- Added pwm_req_idx config variable to control hz freq request to channel.
- Renamed pwm_duty to pwm_req_duty and moved pwm_req_freq from data to config.
- Renamed mal_trig to mal_fire so all triggers are called '*_fire'.
- Added req_mal_fire cmd to request software mal code triggering.
- Added invert per output; pulse_inv_a/b.
- Changed swc_duty/swc_mode into swc_map for mappable options.
- Changed stv_warn/error_mode into stv_warn/error_map so action is mappable.
And a lot of changes in the gui like;
- Change apple macos-X rxtx serial lib to support 4 platforms.
- Added load/save to (text) file of chip config options.
- state saving of divider bar locations in bottom.
- select/sort of graphs on front and tab panel.
- Settings are now realtime.
- 3 Seperate data loggers with selectable fields.
- Added avrdude fallback for flash dialog.
- Made connect a few seconds faster.
Errata:
- After connecting to 0.9 then gui does not update correctly when connect to 1.0.
(restart application)
- win32 flashing works only on first usage of com port and only once ?
(so flash before connecting and restart app before flashing again)
Up to version 0.9 the code compiled fine for MEGA boards but because of use of direct
IO pins the connections for mega up to 0.9 are not defined correctly.
In 1.0 I have created a mega chip profile for the chip code which defines the pins;
http://git.savannah.gnu.org/cgit/pulsefire.git/tree/pulsefire-chip/src/main/c/chip_avr_mega.cAnd the pin layout for the normal arduino boards;
http://git.savannah.gnu.org/cgit/pulsefire.git/tree/pulsefire-chip/src/main/c/chip_avr.cFrom this version on there is also no need to compile the code its already in compiled form in the application.
On the settings tab there is a "Burn" button which will show the flash dialog.
There you can select your MCU and SPEED, for example for the UNO we select "atmega328p"
and "16Mhz" which gives a list of precompiles chip firmware images.
Currently the "atmega328p-001" or "atmega328p-001" images are fine to start with as they
have no external chip requirements.
After selecting the image select the port and hit the "Flash" button.
Also remember that after flashing a chip it is most often needed to make the config correct
from older eeprom saved config variables,so then do;
1) Reset Config
2) Save Config
3) Reset Chip
If the flashing code does not work correctly there is a fallback on the avrdude flash tool.
For that to work select the command and config of avrdude needs to be selected in the
settings tabpane, these avrdude command/config can be found in a arduino IDE subdirectory.
After that reopen the flash dialog and select an images then override
the selected "Programer" to the native version and hit flash.
The way input is handled is also changed as we now have realtime input values in the interface.
But because of this the code does not like floating analog inputs which puts out much data.
Therefor the inputs are disabled per default.
> can i save the data log some how? .. also, the new Pulse fire GUI don't work for me.
Beta1 was not that good, I hope this one works better. You'll want to checkout the logging options
these are now redone and looks very powerfull.
>run at about 43k
The software pwm in pulsefire is currently maxed out around 1-5 KHz depending on # outputs.
I'm making preperations to recode the pulse train code in v1.1 to precalculated output steps which
should get me about 10x faster max output as there is lesser code per pulse step.
But even better is the "OSC" tabpane for pulsefire, the mega chip has a lot more timers so I want
to add also an interface for those. Which are hardware timers so high speed is oke, but over those
outputs no pulse trains of programatic bit data, but this option is also on the todo list for 1.1/1.2.
> with variable amplitude
Pulsefire does not have support of amplitude of signal as that is a analog property of the signal
and we output only digital ONE or ZERO pulses.
Cheers,
Willlem