Welcome Guest! To enable all features please Login or Register.
Options
Go to last post Go to first unread
mogplus8  
#1 Posted : Sunday, May 06, 2018 10:38:34 PM(UTC)
mogplus8

Rank: Member

Groups: Registered
Joined: 5/5/2018(UTC)
Posts: 17

Was thanked: 1 time(s) in 1 post(s)
Hi,
Just downloaded Embrio and am having a lot of fun understanding how it works. It looks like a very powerful development methodology, although I have yet to fully come to terms with it.
I have noticed some strange behaviour however. I am running it on Linux Mint 18.3 (latest version) so maybe it's something to do with that.

The things I have observed are:
1) sometimes I cannot drag a node to the main coding area. Not all nodes, just some. For instance I have found on several occasions that I can drag a switch node to the main area but not a timer node.
2) Frequently I cannot delete a node. No amount of clicking, right clicking or hitting delete or backspace will remove the node. Once I was trying to delete an Analog Read node as I had two of them on the programming area and only wanted one. I selected the one I wanted to delete (so it had a red border) and hit delete, and the other one was deleted!
3) Often I cannot delete a connection
4) Often I cannot make a connection between two nodes (and yes I was trying to make a connection between an input and an output of the same type (colour))
5) Sometimes I cannot move a node.

In all cases shutting down and starting Embrio again has solved the problem (although sometimes it takes several restarts). On the downside though I have found I was restarting the program every five to ten minutes.

Since there seem to be so many things that occasionally don't work I have to assume that it is something to do with the setup on my PC. Perhaps my version of Linux uses a later version of a library Embrio relies on, and the later version has subtly changed its functionality. Not sure if there is an answer to this problem, any suggestions gratefully received.
Thanks, Ian
EmbrioAdmin  
#2 Posted : Monday, May 07, 2018 3:31:27 AM(UTC)
EmbrioAdmin

Rank: Administration

Groups: Administrators
Joined: 12/11/2014(UTC)
Posts: 661

Thanks: 1 times
Was thanked: 109 time(s) in 104 post(s)
Thanks for letting me know. I do all development on a Windows computer and don't do a ton of testing on Linux so I wouldn't notice bugs that happen only after a while of use too much. I do most of my Linux testing on a VM. I also have an old old laptop that I do some testing on. I have an update coming in the next couple days, once it's done I will do a long session on the old laptop to see if I can reproduce and figure them out.

I bet you that just closing the node screen and reopening it would fix the issues. Can you try that next time and let me know if it fixes it as well as restarting the whole program?

The node screen editor is implemented as HTML and JavaScript running in a web browser. It sounds like some events are being missed or something. On Linux the web browser is using Webkit. I don't know much about Linux but it might be worth it to see if you are using the newest version of Webkit.
mogplus8  
#3 Posted : Monday, May 07, 2018 4:01:24 AM(UTC)
mogplus8

Rank: Member

Groups: Registered
Joined: 5/5/2018(UTC)
Posts: 17

Was thanked: 1 time(s) in 1 post(s)
Hi Admin,
You are right, closing and reopening the Agent window does make the problems go away.
I don't know which version of Webkit I have installed. A brief Google wasn't much help. Whatever, I installed it from the Mint official repository which means that it is certain to be a version or two behind. I could maybe try updating to the latest version if you think that would help. Ideally I'd like to be using the same version you are.
Looking forward to the next iteration.
;-) Ian
EmbrioAdmin  
#4 Posted : Monday, May 07, 2018 4:06:33 AM(UTC)
EmbrioAdmin

Rank: Administration

Groups: Administrators
Joined: 12/11/2014(UTC)
Posts: 661

Thanks: 1 times
Was thanked: 109 time(s) in 104 post(s)
The update coming (I think) this week replaces the web view control on Windows from one Chrome based to one Internet Explorer based. This broke a lot of things so I had to spend a lot of time fiddling with it, including a bunch of testing on my Linux vm. There was a bunch of shakeup to the node editor code, hopefully some of your issues were fixed in the fray (and more weren't added). I would be interested in knowing how it's working for you after the next update.
mogplus8  
#5 Posted : Sunday, May 13, 2018 6:25:35 PM(UTC)
mogplus8

Rank: Member

Groups: Registered
Joined: 5/5/2018(UTC)
Posts: 17

Was thanked: 1 time(s) in 1 post(s)
Hi Admin,
Tried Embrio 2 on Win7 yesterday and noticed some similar problems. Click and drag of nodes from the left hand node bar (?terminology) didn't work but right click on the canvas and select worked fine every time. I also found that renaming nodes and inputs/outputs (activations etc) with right click and select from the dropdown was a bit flaky, but middle click (that I stumbled across by accident) worked perfectly every time. Once I'd figured out the paradigm, and used middle click, I found I could update everything easily.
I have also had some joy writing my own nodes. I have a spiffy procedure for generating a PPM output stream that works on Arduino Nano and Mega2560 (tried it on both of them) that uses the hardware clock. I got the node to compile eventually by adding Arduino.h to the controller files. (Maybe that should be hard coded somewhere?) I don't know if it actually works as I haven't used it in a program yet. For your amusement I have pasted the original Arduino code below.

;-) Ian


Code:

volatile unsigned int channel[9] = {2000, 2400, 2600, 2800, 3000, 3200, 3600, 4000, 21400};
volatile unsigned int ch = 0;
void setup() {
  noInterrupts();           // disable all interrupts
  TCCR1A = 0;
  TCCR1B = 0;

  TIFR1  |= (1 << OCF1A);  // clear any pending interrupts;

  TCCR1A |= (1 << COM1B1); // Toggle on B compare
  TCCR1A |= (1 << WGM10) | (1 << WGM11);   // Fast PWM mode, TOP = OCR1A
  TCCR1B |= (1 << WGM12) | (1 << WGM13);   // Fast PWM mode, TOP = OCR1A
  TCCR1B |= (1 << CS11);  // 8 prescaler gives 500us tick size, i.e. 2 ticks per ms.
  TIMSK1 |= (1 << TOIE1);    // enable overflow vector
  DDRB   |= (1 << DDB2); // for Nano - turn on output pin 10 = OC1B (PB2).
  //DDRB   |= (1 << DDB6); // for Mega - turn on output pin 13 = OC1B (PB6)
  OCR1B = 600; // for separator pulse of 300us - double for 8 prescaler
  interrupts(); // enable all interrupts
}
ISR(TIMER1_OVF_vect) { 
  OCR1A = channel[ch] ;
  ch = ( ch++ > 8) ? 0 : ch;
}
void loop() {
// put code to do analog reads, switch polling and whatever else is
// required to generate the pulse widths require, and store them in
// the "channel[]" array. The example will transmit 8 channels. The 
// ninth element is the sync pulse (22500 - sum of all pulses and 
// separator pulses) and must be recalculated for every frame.
}
mogplus8  
#6 Posted : Friday, May 18, 2018 11:02:35 PM(UTC)
mogplus8

Rank: Member

Groups: Registered
Joined: 5/5/2018(UTC)
Posts: 17

Was thanked: 1 time(s) in 1 post(s)
Hi Admin,
Back on Linux Mint. I found that Embrio on Win7 (running as a virtual machine under virtual box, host system was Mint) had similar problems as running directly on Mint anyway.
Found another oddity. If I put a "Trigger every update" node in the program I get an error that says "ControllerTImingManager error raising TimingDataChanged event.: Value cannot be null. Parameter name: input". I tried creating my own node with the same code in it (Output_Trigger.Trigger():) but the same error message is displayed. It also seems to hang everything. I can't move or delete nodes, nor expand the node editing screen. If I close and reopen the agent it seems to be okay again. Also, dunno if it's relevant, but the trigger output node is white, not the normal light blue colour on all the other nodes with triggers. I'm trying to get this to work so I can test my PPM output module using xoscope. Any hints how I can get around this issue?
Thanks,
Ian
EmbrioAdmin  
#7 Posted : Saturday, May 19, 2018 9:20:22 AM(UTC)
EmbrioAdmin

Rank: Administration

Groups: Administrators
Joined: 12/11/2014(UTC)
Posts: 661

Thanks: 1 times
Was thanked: 109 time(s) in 104 post(s)
That is a weird one... I cannot reproduce it on my Linux VM. Looking at the code that raises the error you copied looks like it should just report and squash the error, I don't see how it would effect anything else.

I'm very close to releasing a new update that changes the web control used on Windows from one based on Chrome to one based on Internet Explorer because apparently there are some issues with the Chrome control. Doing this I had to update a bunch of stuff. Once this is released I will check in with you again to see if this issue is resolved, and if not I will figure it out.

In the mean time, maybe you should try uninstalling Embrio and installing the previous version? I wonder if there was something in the last update causing your problems.
mogplus8  
#8 Posted : Friday, May 25, 2018 5:51:18 PM(UTC)
mogplus8

Rank: Member

Groups: Registered
Joined: 5/5/2018(UTC)
Posts: 17

Was thanked: 1 time(s) in 1 post(s)
Hi Admin, thanks for the update. Been away from the project this week, but still keeping an eye...
I stumbled across the playback option and found that if I hit "s" to stop playback then some of the problems go away. Maybe I've created a tight loop or something that's soaking up all the cycles. I'll keep exploring.
IE is not supported on Linux as far as I am aware, so will that cause problems with the Linux version? Maybe Firefox would be an option for the Linux version?
I know almost nothing about developing a large application like Embrio, (I used to program IBM mainframes with Cobol back in the '70s and '80s, but the technology has marched on a bit since then...) but I'm wondering if an IDE like QTCreator might be a better option if you are redeveloping a lot of code anyway. I think there's a windoze version. Please excuse my ignorance if the idea is nonsence, like I said I know nearly nothing but I have been playing around with some IDEs for developing for the Arduino, like CodeBlocks, PlatformIO and Visual Studio Code, and a brief flirtation with Netbeans and QTCreator, but neither of those supported embedded development. Well, not easily anyway. But I was impressed with QTCreator, I found I was able to find my way around reasonably quickly, and it seems to have a lot of support.
Thanks and keep up the good work!
;-) Ian
EmbrioAdmin  
#9 Posted : Tuesday, June 05, 2018 2:49:07 PM(UTC)
EmbrioAdmin

Rank: Administration

Groups: Administrators
Joined: 12/11/2014(UTC)
Posts: 661

Thanks: 1 times
Was thanked: 109 time(s) in 104 post(s)
Ran into a few snags with the update but it's up now. When you get a chance could you update your copy and let me know if it fixes the issues you were seeing?

You mentioned hitting the S key. When playback mode starts the screen background goes red. Is that happening when you are having issues? I'm not sure but the s key might be too sensitive of a hotkey for the big change the playback mode makes, I often hit it myself by accident. Maybe I need to change it to key combination so it's not hit by accident.
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Notification

Icon
Error