Jump to content

MartinMcD

Members
  • Content Count

    150
  • Joined

  • Last visited

Community Reputation

1

About MartinMcD

  • Rank
    Very Active
  • Birthday May 2

Profile Information

  • Gender
    Male
  • Location
    Gloucestershire, UK

LabVIEW Information

  • Version
    LabVIEW 2014
  • Since
    2003

Contact Methods

  • Twitter Name
    marv_mcd

Recent Profile Visitors

2,167 profile views
  1. I'm wondering how people handle dependent custom libraries with source control please. In each case I'm assuming that each library has its own repository (in my case Git) for the development of the library itself, and each project then has it's own separate repo. Here are a couple of options; 1. Take a copy of each library the project depends on and check it in to the project repository. Causes duplication but all the custom libraries needed for the build are then in one repo, with the right version. 2. Install the custom libraries to vi.lib/user.lib. There is less duplication but if s
  2. Hello, I'm in the process of setting up a server to serve all of our yet-to-be-created Mercurial repositories from. Given in Hg that each project will have its own repository it seems to me that a flat folder structure is the way to go ie: CodeBigApplication1 CodeBigApplicationN CodeSmallApplication1 CodeUsefulLibrary1 CodeUsefulLibaryN Although with all the applications and libraries that get created this will mean there are lots/hundreds of repositories with no sub-folder structure, I can't see the benefit of organising the repositories into sub-folders. In fact I can only
  3. Can anyone offer advice on successful naming conventions for libraries & classes and their members and properties please? Eg camel case, spaces, prefixes, abbreviations etc. I need to settle down into a better pattern not least to reduce the number of times I want to change the name and run into SCC problems. Thank you, Martin
  4. Hi there, I've been experimenting with using Mercurial for my SCC. I've come up against this problem and I'm wondering if anyone else has found a good way of dealing with it... If I want to rename a file that is in the repository then I would use the Mercurial Rename function so that all the history is kept. However, if I do this then the LabVIEW project doesn't know the file has been renamed and gets upset that it can no longer find it. If I do it the other way round and rename the file within the LabVIEW project and commit the changes, then Mercurial things I've jsut removed the old
  5. Great, thank you for that, hopefully that'll fix my problems.
  6. Also, is there a mechanism for sending an event to the service so it can stop gracefully? I'm having problems caused by not closing the VISA session for my serial ports when calling 'net stop', if an event could be passed I could close the port properly.
  7. Ahh great, thank you for the responses. I realised my error and it's working perfectly now - thanks for the encouragement! (Out of interest, the problem vi was based on my method for processing the raw data coming from the serial port. It reads a value from a text file on a network drive. I forgot about this - the service isn't allowed to access the drive so it was just returning zero.)
  8. I should have said, otherwise I think I will have to convert the PC to run as a real-time device, which is just a bit of a hassle time-wise.
  9. I've created a Windows service from an executable that writes a nonsense value to a network shared variable. What I want to do is read a number from a serial device and write that value instead. It doesn't seem to work and this link suggests it is not going to: http://digital.ni.com/public.nsf/allkb/38128C80B42DBB8486256F3A006DECFF Does anyone know of a workaround for this, ie accessing a port using VISA from within a service? I assume the answer is 'no' but it'd be so useful for my project that its worth checking. Its a continuously running thing and it needs to work when nobody is log
  10. Thanks everyone, I was a away for a bit and missed the replies to my question. I am going to progress with this option as it is really the quicker load time/less memory use that I'm looking for, I will just continue to roll out whole-program updates as fabric suggests.
  11. Ah-ha, thank you very much for that. So my image below would be the correct way of setting up a motorbike vehicle - calling the parent accessor to set the number of wheels? Also, I do use the 'Get LV Class Default Value.vi' quite a bit to dynamically load classes from disk as required. Am I correct that in this case we'd have to use a dymanic dispatch init method to set the object properties to the required values? I can't see how else I'd do it because the default class data won't have the correct values for the data inherited from the parent class - the number of wheels in this case. Tha
  12. Hello all, Well I'm getting there with the whole OO thing but I now find myself confused again, if someone could help I'd really appreciate it. My example scenario... -I initially create a Motorbike class. Into the class private data I add the property NumberOfWheels and set the default value to 2. Now, whenever I drop a Motorbike object constant on to my block diagram or use the 'Get LV Class Default Value' I have a motorbike object with the right number of wheels. -I create a Car class and realise that it also needs a NumberOfWheels property which I create and set the default value to
  13. Hello there, This might be a silly question but here goes anyway... I have a large modular data acquisition and sound & vibration analysis program. I have implemented it using the actor framework. I have ~5 main actors and then about 40 sub-actors, one for each analysis type. This means my executable is about 40MB and takes a while to start up. All the sub-actors/dependencies are included because are set as 'always include' in the build spec. This is a pain as most of the time a user will only want to use a subset of the functionality - the program takes up more memory than it needs
×
×
  • Create New...

Important Information

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