Jump to content

Mefistotelis

Members
  • Posts

    95
  • Joined

  • Last visited

  • Days Won

    2

Mefistotelis last won the day on May 31 2020

Mefistotelis had the most liked content!

3 Followers

LabVIEW Information

  • Version
    LabVIEW 7.0
  • Since
    1986

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Mefistotelis's Achievements

Newbie

Newbie (1/14)

  • First Post Rare
  • Collaborator Rare
  • Reacting Well Rare
  • Dedicated Rare
  • Week One Done

Recent Badges

21

Reputation

  1. Thanks @Rolf Kalbermatter. You're right about the `.lib` files - just looked at one and it's just a collection of stubs. It's not for dynamic symbol loading, instead it calls `CallLVRT`, giving it a static struct as first parameter - this first parameter contains the symbol name to actually call. There's more than a thousand of symbols in that `.lib` and all of them do that. For compiling the LV 2.5 ASM - it would require some minor changes, but not the arch conversion - toolchains today still have `-m32` or `-arch i386` or other parameters to switch to 32-bit, and PC OSes, at least for now, offer 32-bit user space. (I'm actually curious about compiling 64-bit app with 32-bit sub-module inside.. seen people experimenting with code segment selector to get to 32-bit mode. Requires mmapping any memory to be accessible in 32-bit space. Not sure if it works outside Linux though.) Still, it's just ASM - with todays disassembly tools (and some minimal manual work) I can get compilable ASM for any version of LV, the only difference would be lack of comments and lack of names for static symbols.
  2. When I was still at university, I've heard an anecdote about NI once releasing complete source code with a specific LabVIEW version, by mistake. I think I later saw a confirmation on one of LV-related forums (not sure if this one). But after a quick search, I can't find it. Anyone knows more about this? I'm not really interested in working on LV sources, but would be interesting to just compile that with a modern toolchain. Looking at the releases I have: * cintools-2_5 has a few ASM files, including assembly source for LVRT. But doesn't look like the whole thing - there's 400k of `.asm` and `.h` files in total. * cintools-3 has a header (extcode.h) which is a concatenation of all headers from LV - so there's 327k of headers. No sources though. * cintools-6_0 only has standard cintools headers, but there are lots of `.lib` files included (static libraries are a collections of .obj files). So no source code, but there seem to be enough `.obj` files for the whole labview - 1.2M in total the releases after 6.0 don't seem to have much interesing stuff in them. And considering when I was at university, the rumored release must have been not newer than v8.0.
  3. When I'm trying to figure out checksums, I'm first trying various online tools which compute them. They often support many varieties. Checksum byte is very rarely used for checksum. I've seen once an algorithm which used that area, assuming it is zero filled. Count is sometimes included, sometimes not - hard to judge. If a simple check with few sites/tools won't help, i'm going into REing the code. It is simpler than checking all possibilities. Also, implementations of CRC used in various products are often incorrect, ie. incorrectly treating sign, byte order, or just having a typo. So sometimes it's not possible to figure out the algorithm without reversing the target code.
  4. There are two APIs to graphical systems: X-window and Wayland. X-window contains compatibility layer for Wayland, Wayland contains compatibility layer for X-window. And most libraries which help creating GUIs allow to compile the same user code for both. Microsoft won by donating Windows to schools, and providing courses for teachers. This paid out over years, making Windows a template by which all OSes are judged. Now, at least is EU, there is a movement to require open-source OS in all public institutions. This should, over years, remove some of that bias.
  5. Depends on a kid. Depends on his interests. If you're just after programming a PC: Scratch is quite popular. There's also similar thing called Blocky. If the kid won't get into things unless that's a game: Baba is you is a great game for kids. He probably already has some favorite games, and many games today use LUA. So he could also start modifying a game he knows using LUA scripts. If he prefers to drive something mechanic, like a robot: There are some DJI products for kids, like Robomaster or Tello. Not the cheapest, but high quality. You can program these. There are actually many programmable robots and robotic arms for kids, just search the net. Arduino is also easily programmable, and there are many sensors, LEDs, displays, motors etc. which you can drive with it.
  6. I actually don't care enough for LV to get triggered by the first sentence. But the last one... 😡
  7. Tough decisions are definitely required to put LV back on its feet. But those also have to be correct decisions - and that's not easy to judge at this point. Approach to some features may change now, as "this design flaw was solved in NXG" is no longer an argument.
  8. Read this: https://en.wikipedia.org/wiki/Name_mangling Symbols are decorated this way only in C++. If you just don't want the decoration, compile with C compiler, or use `extern "C" {` and declare your functions within that block. For how LabVIEW handles name mangling - someone who knows LV would have to reply.
  9. Typically, people tend to use 'repo' from Android to make a project from multiple git repos. It's a lot more flexible than submodules. With 'repo', you create a 'manifest' (or multiple manifests) which contain all repositories to be included, with indication on branch and commit to be used. It's intuitive, and anyone who worked with Android already knows how to use it.
  10. Right; sorry, I had attention span only to read a few last posts. From a few projects I looked into, only text files like *.lvproj files seem to be detected. Projects with only VIs in them are not marked as LabVIEW, no matter how much are there or what's the file/project name.
  11. The idea of comparing a quarter instead of full timeline is to have kind of derivative of the use of each language - change in the amount of uses, instead of the total uses. Popularity of LV is on decline for several years now. Whether it's 38th or 51st on a chart isn't going to change much. There are many reasons why that is happening; lack of long-term strategy is visible. There was no reaction to HW engineering being transformed from diagrams into Hardware Description Languages. There was no reaction to major languages giving jurisdiction over specifications to non-profit standardizing orgs. For govs shifting towards open-source SW in bureaucracy and education. Even the reaction to expansion of Code Versioning Systems was lacking. That would be a long post if I tried to list all such missteps. I'm wondering if there is a strategy now. Some recent actions may suggest NI did set up some goals to reach. I wonder if they realize how far they have to go to reverse the trend in the world we have now.
  12. Thanks! That is quite strange that I know exactly how LabVIEW works, but can't properly use it for what it is intended.
  13. Wow.. yes, that seem to work exactly as I expected. Makes a new VI file with given control. Can I make it iterate through all the types and open every possible VI in one run?
  14. I need a group of VI files, each containing only one control on Front Panel. Basically, I want every control available in LV menus in its own separate VI. Is there a way to automate creation of such VIs?
×
×
  • Create New...

Important Information

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