Jump to content

shoneill

Members
  • Posts

    867
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by shoneill

  1. Never agree to a fixed price project for a finished work. The "customer" can simply claim something minor was not finished and decide not to pay. You need to make sure your liability ends once the customer accepts your code is transferred. Each deliverable should be immediately billable. I did a project like that once without help from a lawyer and it cost me 4 months of my life. Didn't get a penny at the end. Even if you have a contract, you have to have the means to enforce it legally. Most developers simply can't do that so I would also reiterate the stance of either money up-front or forget about it. Shane.
  2. I have had cases in the past where I explicitly wanted the plot bounds larger than the plot size. I can't remember what it was but it had something to do with using plot images I think.
  3. Are you therefore postulating that crelf doesn't troll at all? We must explore all avenues.
  4. OMG. I just read through this thread in its entirety. My opinions on many LAVA members has been irrevocably changed. I almost wish I had never read the entire thread. The thing which popped into my head most while reading this thread was the following link. http://en.wikipedia.org/wiki/List_of_fallacies Shane.
  5. You would need to cast to an XControl reference, get the "facade" VI reference and parse from there. I have to admit I don't know how to do this, but I have never tried either.
  6. One major thing is simply to have a convention and write it down. I'm not aware of one convention to rule them all so to speak. I tend to name accessors Set and Get instead of Read and Write because Set and Get have the same Nr. of Characters. When listed in detailed view, they seem easier to read for me.
  7. Just to follow up a little. I've had success with adding the entry RTCloseVIsOnDocMod=True to the ni-rt.ini on the root directory of the RT system exhibiting the problem. This seems to get around the problem of the RT and host getting confused because of changed VIs not being deployed properly. Your mileage may vary.
  8. Well it IS recursive (guaranteed) when the input terminal for the top-level DD call is directly connected to the DD sub-VI (as in the pic above). Or am I overseeing something? We already have type propagation checks for other LVOOP aspects (whether output wire has a direct connection to input wire for type retainment). Should this not be another check? I agree that the presence of the VI in itself does not automatically mean it's reentrant but having the input terminal wired directly to the VI does. I think this could be an option to break the run button if the DD Vi is under these circumstances NOT set to be reentrant. Otherwise I actually like LV leaving us to decide whether something is safe or not! Shane.
  9. This might also go some way to explaining why DD calls are actually very expensive compared to standard VI calls.....?
  10. I see it on occasion but I can't tell you for the life of me when exactly it occurs except that with VI Server References coupled with case structures and shift registers. Sometimes the rules for deciding which actual data type the wire is seem to be a bit backwards (It retains old types even though the only definitive source has changed).
  11. Oh, LVOOP and Real-Time. I seem to be having problems with this also. I get lots of warnings when exiting LV that are related to a certain class (with only static inlined VIs). I've also been seeing completely different code running ont he RT than in the IDE. That makes debugging kind of hard. I've had VIs running on the RT but not marked as reserved on the host and vise versa. Apparently adding the line "RTCloseVIsOnDocMod = True" to the rt.ini in the root directory of your RT system can help this problem. It certainly helped me. Clearing my source code cache made no effect fo rmy problem.
  12. I'm not 100% sure it's related to inlining but here goes: recently (Actually it seems to be happening a lot since we installed the "November 2012" patch for RT (which is supposed to fix glitch issues with FIFOs)) we started seeing what can only be described as "weird sh1t" happening with our code. When debugging RT code in the IDE and running the top-level VI from the IDE (plus automatic deploy and so on) we would see VIs which are running on the RT not being reserved (or marked as executing) when viewed on the host. With time I realised this was simply a mismatch between the deployed code and the IDE source code which led to all kinds of performance debugging nightmares. Debugging nightmares in general in fact. Setting probes where you KNOW it has been executed but not showing any values (listed as "not executed") is perhaps the most harmless version of what I was seeing. Hard crashes of the entire LV system was less harmless. I got some keys from NI which should have fixed the problem but actually led to all deploys failing and the VIs complaining when trying this were nearly all inlined - hence my irritated glance in that direction. I deleted the keys but am left with a system where I'm never quite sure which version of my software is actually running on the RT. I've spent days trying to debug something and tearing my hair out only to have the software (unchanged nominally) working fine when I re-connect the next day. My sanity is intact though, that was actually in doubt for some time. Another work colleague has started seeing the exact same behaviour. I got more keys to fix the behaviour but I haven't tried them all out yet. Shane
  13. Ooh, Warnings with inlining. I think I should write a song about it. It's driving me nuts. Also problems with deployed code on a RT not matching the code in the IDE when editing and runn ing code from the IDE is a nightmare.... Roll on LV 2020. Maybe we'll have a really stable version by then.
  14. Stick a decent SDD in your old i5 and you should be fine. Programming LV on a SSD is amazing due to the multitude of small file accesses. Shane.
  15. Perhaps the lack of a UI event structure to handle the UI events? I don't really know otherwise.... I don't know how much RT and XP Embedded are similar. I only have experience with RT (And even there, I don't have much)
  16. I would say that almost all of the time it's POSSIBLE to do what I do without using multiple event structures in a single VI. But if the workaround (automatic upgrade path) is to simply plop each extra structure in a sub-VI (and perhaps inline it) then what advantage is the change actually going to bring? It seems like an optimisation which could cause more problems than it brings but IF it brings some magical properties, then I'd be all for discussing it. I'm the last person who thinks that backward compatibility needs to be maintained at all costs. I feel there are many big changes which could benefit LV but I don't have the insight into the inner workings to guesstimate whether this would be worth it or not.
  17. Not in LV 2012 they're not. The folder is there, lots of other VIs are there but your "Set Texture" Poly and the "Rotate Z axis.vi" are not included. I do actually USE the 3D Picture control so I certainly have the functionality installed in LV 2012. Can't you simply save the full hierarchy?
  18. Sorry, still can't help. Several sub-VIs are missing.
  19. Ooh this sounds familiar. I had some WEIRD performance issues a few weeks back with the divide primitive taking different amounts of time depending on which values it was dividing, and I mean MEASURABLE differences. Closed the project, re-opened and the issue was completely gone (hopefully) never to be seen again. It seemed at the time like the math libraries had started going a bit wonky. As with all problems of this ethereal type (you look at them properly and they disappear) you end up questioning your sanity and have no change of filing a bug report because noone will be able to reproduce it. Shane.
  20. I would check it but have only LV 2012.... You have LV 2012 in your signature, but your file is LV 2013.....
  21. Limiting to a single event structure would break so much of my code I'd be seriously tempted to start learning C++ again....... I'm not exaggerating.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.