-
Posts
3,388 -
Joined
-
Last visited
-
Days Won
283
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
Because of a thread over on the darkside, I got the motivation to improve this code, and include the Google Material icons in it. I posted the package over on VIPM.IO. This uses the native 2D picture control for displaying icons like I wanted. It still requires Windows due to how icons are resized, but maybe that could be worked around if there is interest. https://www.vipm.io/package/hooovahh_boolean_vector_controls/ Install the package and its dependencies and you'll have a Tools >> Hooovahh >> Boolean Control Creation... Once ran it will start trying to display all the icons the toolkit installed. In the background it will be converting the vector images to 56x56 PNGs to be able to display them in the window. I tried being smart and having it prioritize icons that you scrolled to, but I honestly don't know how well it works. It basically takes about a minute after first launching it to have all of its icons displayed properly. You can use the tool during that minute but not all the icons will be available yet. From that point on you can scroll around and resize the window and it should work as expected, just a little bit slow at times. There is a single constant on the block diagram where you can change the icon side. At one point I had icon size be a control on the front panel but since it took about a minute to process all the images for every change I just left it. Some of the icons have multiple versions. If you left click on an icon and a window pops up you can pick from what version of that icon you'd like to use. Then create a control using that icon. You can theoretically put your own EMF files in the folder with the rest but at the moment it doesn't scan for new files since it is relatively slow to find all icons on every launch. What I'm saying is compromises had to be made. Maybe I could have a separate program that gets ran in the Post Install VI that starts processing the icons right away in parallel. That way the tool might be done processing icons by the time the user launches it for the first time. I did use the Post Install and Post Uninstall to do extra work since there are so many individual files. Normally you'd have VIPM handle the files but it took a long time. So the package just installs a Zip, and the Post Install will unzip them. This also means Post Uninstall needs to delete the extracted files. Not ideal but the install time was much longer otherwise.
-
One other odd side effect is I've seen several reports that are clearly bots, that think it is a reply system. The report will be a normal spam message but reporting some content. So at least those ones only I need to deal with and you won't see. Sorry again about all this. I have talked to the site admin again emphasizing the severity, and frequency.
-
shared library passing arrays in C dll to labview
hooovahh replied to alireza m's topic in Calling External Code
Oh sorry I didn't read your post closely enough. I don't know how to do that.- 8 replies
-
- dll
- external code
-
(and 1 more)
Tagged with:
-
shared library passing arrays in C dll to labview
hooovahh replied to alireza m's topic in Calling External Code
I think what you want is MoveBlock. This is basically a function that takes a pointer and returns the actual data at the pointer. I don't deal with DLL calling often, and I have a hard time figuring out things so I might be wrong. You may want to do some research into it. Here are a few links.- 8 replies
-
- dll
- external code
-
(and 1 more)
Tagged with:
-
We are at the whim of the city planners to approve of the use of the fire extinguisher...okay the analogy falls apart a bit there.
-
I do occasionally have correspondence with him. He is aware of the spam issue and we've talked about turning on content approval. He seems to want to update the forums and just has limited bandwidth to do so. Until that happens I'll just keep cleaning up the spam that gets through.
-
I did try to implement inflate/deflate in pure G. There was a website that explained in pretty easy to understand english how the compression works, and gave example code on how to implement it. I went through it step by step but it still wasn't producing the correct data. After trying in my free time for a bit I gave up. I thought it would be helpful on Linux RT for web server stuff where it could make PNG compressed images. There are alternatives.
-
Oh yeah it sucks. I do what I can, I contact the admin when there are issues I can't resolve. I appreciate your patients.
-
It does put more spam in my inbox. Honestly with how frequent things are I'd say make a single report of any kind, then I'll review all the posts by the newest users. Banning a user deletes all of their stuff, so just one report to get my attention is enough.
-
It's just every morning sorry. I was getting emails when reports came in. This made it easy to review them from my phone as they came in but that broke some time last year. So now I need to check the site for spam, or reported content.
-
I don't have that feature available to me. I'll mention it to the admin.
-
Moderator tools are way more restrictive than Administrator. I appreciate the support but it is all I can do to get rid of the stuff manually that makes it through until better tools are installed or upgraded.
-
Also just so others know, you don't have to report every post and message by a user. When I ban an account it deletes all of their content so just bringing attention to one of the spam posts is good enough to trigger the manual intervention.
-
Honestly my tools for fighting this are quite limited at the moment. That's why upgrades are likely to come. Until then thanks for your patients. I also check the Unread Content section and hate it to see it blasted with 100s of garbage. When I'm at work it is easy to just refresh once in a while and delete it as it comes. But then Brian goes to sleep, and robots don't need sleep. Maybe the next upgrade will be if I can become a robot.
-
I can CREATE a snippet, I just can't USE a snippet
hooovahh replied to Phillip Brooks's topic in LAVA Lounge
You guys are on point with the meme. So Snippets in general still work for me. I just tested one from NI's site and it was fine without needing to run as admin. That being said I know there were issues with LAVA and those might still exist. If I go to this NI post: https://forums.ni.com/t5/LabVIEW/Serial-port-number-savings-in-ini-file-executable-with/m-p/3957698#M1126478 There is a snippet. If I drag that pictures to LabVIEW it doesn't work. If I right click the image and choose open in new tab, then drag that image, it also doesn't work...BUT If I take the URL which was this: https://forums.ni.com/t5/image/serverpage/image-id/251299iAB15C965246CD61E/image-size/large?v=v2&px=999 and change it to this: https://forums.ni.com/t5/image/serverpage/image-id/251299iAB15C965246CD61E Then drag that to LabVIEW it does work. -
Yeah it sure has. It has slowed down believe it or not. But I do still see new accounts being made. I'll just keep trying to flag spam as I see it, until new upgrades are complete.
-
Hello all. The last 72 hours we've had some issues with spam bots taking over the forums, pretty aggressively. As a result new account creation has been temporarily disabled. Thanks to all those using the report feature. I don't read every post but I do read every new thread title and you are very helpful in spotting issues. There might be some forum upgrades taking place soon to help combat this issue. After which the new user creation will be turned back on. Nothing is scheduled yet but this is meant to be a heads up that the forums might have some down time soon and it is to be expected. Thanks for your patients.
-
Anyone else getting their popcorn? I cannot predict the future. And worrying about things I can't control gives me anxiety. So I'm just going to chug along as best as I can. My boss likes the work I do, and I like my job. I'll be mindful of industry changes. But at the moment I am not pivoting away from LabVIEW or NI if I can't help it.
-
NI-MAX and sbRIO-9627 not showing CAN peripherals?
hooovahh replied to Petrus Prins's topic in LabVIEW General
I only worked with an FPGA CAN device once, and it was a long time ago. For me there was an example that showed how to create a DMA on the FPGA to send raw data back on. Then on the host you could read or write the raw CAN frames. From there you could use my frame signal conversion library. But I've never used them on the sbRIO so I'm unsure how that process is different. I'd be surprised if there wasn't some kind of CAN example installed with the software. From LabVIEW go to Help >> Find Examples and then search. I suspect the CAN port won't show up in MAX. To use it you need to write code, or open an example. -
This looks interesting. What are the licensing used? What are the restrictions? Is there a manual that is in English? Is the source code available?
-
So I use Inno Setup for making most of my LabVIEW installers. It is pretty easy to setup file association with the registry like the LabVIEW Wiki mentioned. Here is a post explaining some of the settings. Once I'm on the LabVIEW side I've always used the property node Application >> Command Line Arguments. Maybe I've just used that because the event didn't always exist? I'd like to think the property node gives you more control since I can send other command line arguments not just a file. But the majority of the time I do just want the file path.
-
Yeah I get this. We also have Intrepid, and ETAS in the mix along with other random serial to CAN converters. It can be a bit of a hardware mess. I have written class wrappers around different CAN hardware, and then made a single API for doing things that use most of these hardware types. But I haven't got permission to share it, and specifically the XCP and A2L side of things, leverages NI's toolkits in ways that I can't share it openly in the state it currently is. Sorry. If I had more time, resources, and didn't develop it on company time things would be different. The large majority of the stuff on my blog was developed over a week at home during a staycation.
-
I would not count on purchasing a license, causing the passwords to be removed. Sorry. Additionally the NI toolkits are often just wrappers around a DLL or some binary. This means for it to work it must hook into NI specific function calls to NI specific hardware. The ADCS toolkit works this way and that's why I had to rewrite it to allow using different hardware. The ISO 15765, XCP, CCP, KWP2000, UDS, J1939, and other CAN protocols are really just software layers on top of some frame level API. They can all be written in a way that is hardware agnostic. But NI's toolkits are not written this way. NI wrote their ECU toolkit to work with NI hardware, and they want to keep it that way. The hardware helps sell software, and the software helps sell hardware. They don't have an incentive to have it work with other hardware. But honestly their hardware is quite good. I really like the NI USB 8502.
-
Yeah multiple targets is the main issue I've had over the years. I have a great reuse library that is written well to work on RT or Windows. But making a single PPL for both targets is impossible. And having the palettes, and builds, and projects pull from the right PPL, and pull the other dependent PPLs, is such a major pain that I abandoned it.
-
Several things can be done to optimize TDMS writing. TDMS has to occasionally write header data to the file to keep track of the data being written. Because of this you can add one TDMS file to the end of another and it will make a valid file. You can't for instance append an Excel file (XLSX) to the end of another and get a valid file. So you want to minimize the amount of times the header data needs to be written to disk. The easiest way to do this is to write multiple samples at once, or writing multiple channels at once. You want to avoid writing single samples. So build up N samples for your N channels and write them once the buffer is full. The buffer doesn't need to be your whole 12-18 hours. You can start small with say 10 samples and see how it performs.