ML generated drivers for semiconductors

Automated datasheet processing and embedded code generation

How it works

01
how

ML Datasheet Processing

02
how

HAL Definition

03
how

Driver Generation

Step 1. Upload datasheet

fileTest datasheet.pdf

The pdf datasheet was uploaded and processed to intermediate representation, a machine readable variation

Step 2. Choose your options

HAL

RTOS

Vendor

Embedd

Low level

RTOS (Real time operation system)

VxWorks

FreeRtos

Zephyr

MBED

Vendor

Microchip

NXP

Texas Instruments

Nordic

Infineon

STMicroelectronics

Renesas Electronics

Silicon Laboratories

Microcontroller

searchicon

Using data parsed from datasheets and developer inputs on system architecture Embedd generates ready-to-use drivers.

Step 3. Enjoy
	
	#ifndef _VEML7700_H
	#define _VEML7700_H
	#include <I2CDevice.h>
	#define I2C_ADDR 0x10
	#define GAIN_1 0x00  
	#define GAIN_2 0x01  
	#define GAIN_1_8 0x02
	#define GAIN_1_4 0x03
	#define IT_100MS 0x00
	#define IT_200MS 0x01
	#define IT_400MS 0x02
	#define IT_800MS 0x03
	#define IT_50MS 0x08 
	#define IT_25MS 0x0C 
	#define POWERSAVE_MODE1 0x00
	#define POWERSAVE_MODE2 0x01
	#define POWERSAVE_MODE3 0x02
	#define POWERSAVE_MODE4 0x03
	#define ALS_CONFIG 0x00       
	#define ALS_THREHOLD_HIGH 0x01
	#define ALS_THREHOLD_LOW 0x02 
	#define ALS_POWER_SAVE 0x03   
	#define ALS_DATA 0x04         
	#define WHITE_DATA 0x05       
	#define INTERRUPTSTATUS 0x06  
	#define INTERRUPT_HIGH 0x4000
	#define INTERRUPT_LOW 0x8000 
	static err_t i2c_read_reg
	(i2c_handle_t dev, uint8_t reg_addr, uint16_t *reg_data);
	static err_t i2c_write_reg
	(i2c_handle_t dev, uint8_t reg_addr, uint16_t reg_data);
	static err_t i2c_read_reg(i2c_handle_t dev, uint8_t reg_addr, uint16_t *reg_data)
	{
	err_t resultCode;
	i2c_cmd_handle_t cmd = i2c_cmd_link_create();
	i2c_master_start(cmd);
	i2c_master_write_byte(cmd, (dev->addr << 1) | I2C_MASTER_WRITE, true);
	i2c_master_write_byte(cmd, reg_addr, true);
	i2c_master_start(cmd);
	i2c_master_write_byte(cmd, (dev->addr << 1) | I2C_MASTER_READ, true);
	uint8_t read_data[2];
	  i2c_master_read(cmd, read_data, 2, I2C_MASTER_LAST_NACK);
	  i2c_master_stop(cmd);
	  resultCode = i2c_master_cmd_begin(dev->i2c_master_num, cmd, 2000 / portTICK_PERIOD_MS);
	  *reg_data = read_data[0] | (read_data[1]<<8);
	  i2c_cmd_link_delete(cmd);
	  return resultCode;
		}
		static err_t i2c_write_reg(i2c_handle_t dev, uint8_t reg_addr, uint16_t reg_data)
	{
	  err_t resultCode;
	  i2c_cmd_handle_t cmd = i2c_cmd_link_create();
	  i2c_master_start(cmd);
	  i2c_master_write_byte(cmd, (dev->addr << 1) | I2C_MASTER_WRITE, false);
	  i2c_master_write_byte(cmd, reg_addr, false);
	  uint8_t write_data[2];
	  write_data[0] = reg_data&0xff;
	  write_data[1] = (reg_data>>8)&0xff;
	  i2c_master_write(cmd, write_data, 2, false);
	  
	  i2c_master_stop(cmd);
	  resultCode = i2c_master_cmd_begin(dev->i2c_master_num, cmd, 1000 / portTICK_PERIOD_MS);
	  i2c_cmd_link_delete(cmd);
	  return resultCode;
	}
		
						
more
Save up to 50 hours per driver

Create drivers in minutes with custom project settings

more
Get stable and predictable code

Our code generation technology provides accurate and high reliable code

more
Full AI Datasheet reading

Capability to extract not only tables and functions but also charts and calibration graphs

Features

Freedom and flexibility to generate drivers for multitude of system configurations and applications

Multi language support
support
SOON support
SOON support
Wide application range

Wearables

Industrial Electronics

Wireless communication

Automotive

Medical devices

Consumer Electronics

Computing and data storage

IoT

Component Agnostic System

Join waitlist

Enter your details and we will contact you shortly

First name *

Last name *

Work Email *

Phone

Company name

Job Title

How many employees work there?

Country

By clicking «Submit», you confirm that you agree to the processing of your personal data to provide you the content requested. For more information, please review our Privacy Policy.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.