Page 22 of 28

Re: MarOS1.5.0 - Beta Version

Posted: Fri Jun 09, 2017 1:26 am
by Nordcore
ioth wrote:And the first time i uploaded the os my xox started to randomly freeze, though that didnt occur after i updated a second time.
I also had that some times, I suspect the program is not flashed properly.

I'll add a CRC check on startup, so the probability of running a code, which is not properly flashed, is much reduced.

On the long run I'll modify banned to read back the flash and than verify that it is what should be there. Astonishingly the bootloader can do that, but I suspect it was never used. So lets hope that it works. (... as it could free up the code bytes which I have to waste for the CRC check now. )

Re: MarOS1.5.0 - Beta Version

Posted: Fri Jun 09, 2017 4:48 am
by ioth
Hmm, but the code itself looks fine to you?
Because I uploaded the OS 4 times and there were always the same errors (apart from the first time, when it froze).
After that I went back to the r5 version, and it worked perfectly the first time, so I think I flashed properly.
But still, it could be a conbox bug...
Conbox is pretty messy, it doesn't work at all on my mac (crashes at start) so I always use the win laptop of my roommate

Maybe it helps uploading the file again?

best, ioth

Re: MarOS1.5.0 - Beta Version

Posted: Fri Jun 09, 2017 9:53 am
by Nordcore
... oh, I think the code *is* broken, I'm going to work on that now.

But I think also that it should not happen that there are flash errors which are not pointed out by some checking mechanism.

Re: MarOS1.5.0 - Beta Version

Posted: Fri Jun 09, 2017 1:09 pm
by antto
banned doesn't verify the data, and yes, the data can get corrupted during transmition, then the FW may work with some nasty side effect

even with the cpumod and stk500v2 bootloader (which has checksum on all messages) i've had an issue once, i hunted a very weird reset bug which turned out to be due to a corrupted flash
at that time i wasn't using banned but avrdude with arguments to skip verification

iirc data can get corrupted specifically when you have both the MIDI and the USB sending and/or receiving at the same time, iirc there was something not too optimal in the J3 cable going to the IO board (which carries both USARTs)
and the MIDI-IN/MIDI-THRU was not made too nicely also
you could try that by feeding a MIDI cable into the x0x midi-in from something that transmits a lot of data (sequencer/DAW playing something at crazy fast tempo) and then flash a firmware and verify it - i'd expect it would have high chances to get corrupted
then remove the midi and repeat

banned will not be updated because i've started rewriting banned with wxWidgets (banned_wx), and so far i have working support for both bootloaders - x0xb00t1 (atmega162) and x0xb00t2.x (cpumod)
i will add optional verification (enabled by default) and probably an option to just read the data and write it into a .bin file

i think the x0xb00t1 is based on one of the atmel bootloaders (described in their datasheets) and thus it should be possible to use avrdude to program it - if that's so, you get verification after flash by default (and avrdude can be used via build scripts easily)

btw, i'm glad to see that someone actually uses the extensions to the serial protocol (like MSG_FW_VER)

Re: MarOS1.5.0 - Beta Version

Posted: Fri Jun 09, 2017 1:29 pm
by ioth
woo, sounds cool, cant wait to use "conbox" on my mac again!

Re: MarOS1.5.0 - Beta Version

Posted: Sat Jun 10, 2017 8:41 am
by Nordcore
So .. next try ...
that last one was really a mess, sorry for that.
One bug I build into the random generator, and some bugs in the randomizer, where my fixing of other bugs caused triggering of these.
Add some "less than poor" testing ...
  • Fixed randomizer "generate pattern" functions (C...E) setting spurious "end of pattern"
  • Fixed random generator delivering values out of bound - which could mess up half of everything

Re: MarOS1.5.0 - Beta Version

Posted: Mon Jun 12, 2017 8:21 am
by senoa
After flashing the Firmware MarOS 1.5.1-r7 4 times, it works. Really a good firmware! Good job! Is fun, the randomizing function. :)

Re: MarOS1.5.0 - Beta Version

Posted: Tue Jun 13, 2017 11:33 pm
by Nordcore
... as talked about above, I've added a CRC check in the start up procedure.
If that fails, "DOWN" and "DONE" will light up (all other LEDs off) and the firmware halts. If that happens go back to bootloader and give it another try.
Link order is changed, so the startup and check code is in the beginning of the hex file. So if there are lost characters it is more probable that it still works.

The benefit of this is that we can be pretty sure that a running software is flashed properly and running exactly the code my compiler has generated.


Version number/naming scheme is new, I'm now using the version numbers I have for banned to name the releases and the files.
(File names are now generated automatically by the CRC calculator from the version it finds inside the hex file, so I can't mess them up... )

The only functionally change I made in this version is an added mode: USER B now is "EDIT PATTERN" with DIN SYNC clock input. (EDIT: Does not work yet ... forgot one case B_FUNC: but will be in soon ...)

Give me a another day to make and test the file for the x0xlarge. x0xLarge will have MarOs15XL as software name. So file names are different and you could see it in banned in run / connected mode.
(As I'm using my x0xlartge with the debugger there is usually no bootloader on it, as the debug procedure erases the chip and just puts the program under test on it. No big deal, but some action required. ... and might it only be: "where does this booloader sit on my hard disk?"
BTW: I'm using a modified bootloader, which supports my hardware patch against those random lit up LEDs during boot up. Which is not only looking bad, it could cause real problems, as the drawn current during boot up could get pretty high. And that might lead to USB problems or even lookup of the brownout detector. )


Edit: Outdated file removed, see 2 posting below for current version

Re: MarOS1.5.0 - Beta Version

Posted: Wed Jun 14, 2017 7:47 am
by ioth
Thanks for the update. I've found 2 more bugs.
The first is, when you enter a new step the step is default with accent and slide.
And the second one is the "clear" function, when you press redo twice fast.
It should reset the pattern to a middle C on all steps, this doesn't work.
However, my suggestion would be to make this a real "clear" so clear all steps, accents slides octaves, etc.
Keep the good work up, admiring you how fast you bring new updates, were gonna swat all the bugs.

@antto , when are you going to approximately release the new conbox version?

Re: MarOS1.5.0 - Beta Version

Posted: Wed Jun 14, 2017 1:39 pm
by Nordcore
Fixed the new notes on the end step *not* to have slide and accent turned on.
(That was a relative new bug .. I overlooked a case doing some code cleanup. Meanwhile I should have learned that most of the code is already compact, and if a change saves bytes, it is very probable doing so, because I allowed the compiler to optimize away something needed. )


The doubleclick F works here as intended. It sets all notes of the current pattern with the current pattern length(!) to middle C.
I changed that to RESTs.

It does *not* change the length of empty pattern, so an empty pattern has to be "blown up" once with one of the step modes.
That might not be what you want to have, but as now *all* modifiers from the randomizer obeys the pattern length doubleclick F does that also. Just being consequent.
Of course that could be changed if it seems to be more useful.

List of changes for version MarOs15-V1.76
  • doubleclick F in randomizer mode now sets pattern to all REST, not middle C
  • a new entered note on the "stop" step does not have ACCENT and SLIDE set any more
---------------------------

Personally I don't like the double click at all and would prefer a different solution.
My idea is to use some "free" keys in pattern edit during stop mode. In that sub mode you load patterns from the 1..8 places.
So "REST" could be added there to load an fixed "all Rest" Pattern. May be ACCENT and SLIDE could provide two further useful default patterns.
I'd have to remove the doubleclick F for that (both methods together would not fit).

What do you think?

---------------------------

Re: MarOS1.5.0 - Beta Version

Posted: Wed Jun 14, 2017 4:30 pm
by antto
ioth wrote:@antto , when are you going to approximately release the new conbox version?
there's a pile of work for it, but i could perhaps release the current version (with some polishing) which only has the bootloader functionality, and lacks the actual "connect to firmware" features, like checking what firmware you have, import/export patterns, pattern editor..
it will still take some time because i need to fix a few things like the config file and log window, and add the "verification" step after flashing a firmware

Re: MarOS1.5.0 - Beta Version

Posted: Thu Jun 15, 2017 11:26 am
by Nordcore
... since I have the CRC I'm pretty relaxed about the (missing) verify.

Re: MarOS1.5.0 - Beta Version

Posted: Thu Jun 15, 2017 1:01 pm
by rv0
ioth wrote:woo, sounds cool, cant wait to use "conbox" on my mac again!
// offtopic
https://www.rv0.be/news/banned-1.02-OSX-unofficial

Re: MarOS1.5.0 - Beta Version

Posted: Sun Jun 18, 2017 6:28 pm
by ioth
thanks rv0, will try it out with the next version.

By the way, I played my first live show with the latest marOS on saturday, and it passed the live test ;)

Aaand last but not least, @Nordcore, are you planning on implementing the computer control mode again? so saving and recalling patterns from the computer? Because in the old manual it states that this mode is disabled, too.

Anyway, have a good night

Re: MarOS1.5.0 - Beta Version

Posted: Mon Jun 19, 2017 2:02 am
by Nordcore
The computer control mode is there. But it does not need the switch position, as it runs in the background. Always.


Note: At the moment I have a key & lamp test function on the "computer control" switch position.
(May be removed, if I need the code space for something more important. )