How Software Abstraction Made a Complicated Project More Manageable
My team works with a specific product that is hard to handle for several reasons. First, it has high visibility with the client because it is a large-volume selling product …
My team works with a specific product that is hard to handle for several reasons. First, it has high visibility with the client because it is a large-volume selling product …
DISTek Integration has been heavily involved in ISOBUS development for a long time now. We have helped many clients develop and integrate custom VT solutions for their vehicles and implements …
In my work, I build Hardware-In-The-Loop (HIL) test benches. We connect prototype vehicle Electronic Control Units (ECUs) and their software to the HILs. The HILs replicate the various electronic actuators controlled and monitored by ECUs when they are connected to vehicles. We try to use the actual devices that would be used on the equipment, but there are a myriad of different reasons why this is not feasible for testing. A lot of the devices would take up too much space on the HIL. Some can be rather noisy when operating and others require complicated cooling systems to operate for extended periods of time. That is why I often create electronic circuits that will simulate the current feedback characteristics of the actuators.
Here at DISTek, we value collaboration, teambuilding, and delivering unmatched value. We provide our clients with dedicated engineering teams that provide unparalleled value by freeing our clients’ time up so they can focus on broader business challenges. Our proven approach is not only extremely beneficial to our clients but brings significant value and meaning to our employee-owners, as well.
Previously, in Part 2, we went over Git Branches and the HEAD. Let’s continue by starting off with Remotes and how to get your stuff to other developers or into a project.
When creating an application, one of the most difficult aspects is choosing a language/framework that will meet all requirements. The VT Anywhere team has learned this first hand, hence the title of the application VT Anywhere. VT Anywhere is split into two parts: User interface and Server. The languages of choice are JavaScript and Rust respectively.
There are tons of tutorials out there that show how to use Git, starting with easy things like cloning a repository and committing locally, then pushing your commit to the server. There are lots of sites and videos that will help you achieve a competent level of Git expertise – like this one. However, you may struggle with the interface and if you have problems, you may struggle to understand why and how to fix them. That is why I am going to explain Git this way: inside out, backwards and hard. This three part series is targeted for people who want to excel at using Git and deeply understand it. This is also intended for people who are willing to persevere a bit more than the average person. Lastly, this is for people who like to see the beauty in things and, trust me, Git is beautiful.
Between company shutdowns and working from home over the last few weeks, some organizations are slowing production and running into various struggles to keep moving forward. For DISTek’s VT Anywhere team, we have been getting even more done now than ever before. While Slack calls and meetings have completely replaced in person interactions, the team has remained focused and very productive.
Eliciting a set of user stories can be a challenge when stakeholders are not sure where to begin their description of the solution they require. It is often up to Requirements Engineer (RE) to guide the stakeholders along in assessing the problem in need of a solution, as well as assessing the best solution for the problem. The RE must further help the stakeholders partition the solution’s description into manageable tasks, and express those tasks as User Stories. Workflow Driven Elicitation (WDE) is a systematic approach that helps achieve all of the above.
In my personal projects, I often work with various sensors which require digital data verification. One such sensor required the use of a Cyclic Redundancy Check (CRC) to verify that the information that the micro-controller read from the sensor was being received correctly. A CRC is a method for calculating a checksum from an array of data. The software examples that I was able to find to develop my understanding of implementing a CRC were poorly documented. Moreover, these examples were often so optimized that the underlying behavior was not immediately recognizable. Many examples simply used a lookup table—which provided no satisfaction for my “what-makes-it-tick?” personality.
Hardware in the Loop (HiL) systems are used in the development and test of real-time embedded systems often found in Electronic Control Units (ECU) within almost any on- or off-highway vehicle today. HiL systems are comprised of both hardware and software that can simulate the larger entity (i.e. car, tractor, etc.), so that the smaller ECU can be inserted into that larger system to determine whether or not it’s internal real-time embedded system is performing as intended. While this may seem like a mountainous task for vehicle manufacturers in industry today, DISTek has invested in tackling the design and production of an internal HiL solution.