Spyrosoft

Model Based Software Engineer/Integrator

Remote · Posted 3w ago

salary not listedcontractremote
MatlabSimulinkC++17PythonVS CodeIARGitUMLBacnetModbusEthernet TCP/IPNFCARMCC++

Job Description

Tech stack:Matlab, Simulink, C++17, Python, VS Code, IAR, Git, OOP paradigm, UML, Bacnet, Modbus, MP, Ethernet TCP/IP, NFC, ARMRequirements:Strong debugging and integration skillsExperience in Embedded SW Development (C/C++)Experience with Matlab/SimulinkMatlab scripting (ideally OOP Matlab)Modeling / Generating codeHands-on experience with MCUsProactive approach to solving complex integration challengesCode review experienceNice to have:Experienced in using AI tools in day-to-day workflowPython scripting experienceProject description:Development of various sensors and actuators within the HVAC (Heating, Ventilation, and Air Conditioning) field. Examples include air differential pressure sensors, air flow sensors, ultrasonic sensors, and variable air valve actuators.Main responsibilities:Integration and AbstractionYou will integrate low-level drivers into higher-level abstractions within modular components in Simulink, following software design requirements and diagrams provided for each feature. Multiple components are then assembled into a complete feature, which is integrated into one of the many products/applications being developed within the project.Coding and Code Generation:Most of the code is written in Matlab (following OOP principles) and Simulink. C++ code generation is used to enable integration with low-level drivers written in C++.C++ Development:A custom C++ code generator has been developed for this project; part of the role involves extending and upgrading it. A strong knowledge of C++ is expected to analyze the generated code and occasionally perform direct modifications in C++.Main Tasks of the Integrator:Creating new products and integrating previously developed features. Finding and fixing bugs/defects. Creating releases and testing functionality on hardware (including specific features, communication protocols, and product parameterization/configuration).