About Me

Embedded Software Developer And Qt QML Forentend Developer.

Me Adesh Singh Results-oriented Embedded Software and Qt QML Forentend Developer with 2 + years experience in analysis, design, development, testing, and implementation of embedded software systems. Adept at designing and building applications with usability and high performance in mind.

Call +91 7772076022
Email adeshworkmail@gmail.com
Website www.blogs.thearticleof.com
Download CV Hire Me

My Skill

Results-oriented Embedded Software and Qt QML Forentend Developer with 2 + years experience in analysis, design, development, testing, and implementation of embedded software systems. Adept at designing and building applications with usability and high performance in mind.

Technical Exposure:

Programming Languages: C / C++ Programming, Python3, Qt QML Application Development

Tools & IDEs:Vi, VIM, Qt Creator, VS Code, PyCharm,Jupyter Notebook, Git, GitLab,BitBucket, Linux OS

Subject of Interest: : IOT Embedded system, Linux Application , Qt Framework

Databases : MySQL, Influx, Redis-Cli

Development Skills: C / C++, Python3 Programming, Zigbee Technology 3.0, Advanced Python Programming, IPC and Socket Programming, Working with Communication Protocol UART, I2C, Working on wireless ZigBee sensors, Simplicity Studio V4 &V5 & Silicon Labs Development Board, Microprocessor, Linux OS, Qt Framework, Qt Creator, Qt QML , Qt Focusable Application,Qt Accessibility Support, Qt Signal and Slot ,Qt Event Native Event ,Key Event Management, Qt Quick Application Development, Qt For Embedded Linux and Native OS Application Development. Familiar With Boot2Qt and Yocto Project For Embedded Devices

Qt QML Developer
C & C++ Developer
Embedded Software Developer
Embedded Device Creation With Boot2Qt & Yocto Project

My Services

What i offer

Qt QML UI Design

Professional forefront and working towards the attainment of goals of the organization and its development.

Qt Desktop Development

Professional forefront and working towards the attainment of goals of the organization and its development

Embedded Device Creation With Boot2Qt

Professional forefront and working towards the attainment of goals of the organization and its development

Embedded IOT Firmware

Professional forefront and working towards the attainment of goals of the organization and its development

Existing Software Support

Professional forefront and working towards the attainment of goals of the organization and its development

Freelancing

Professional forefront and working towards the attainment of goals of the organization and its development

My Portfolio

What i do
  • All
  • Qt UI
  • Qt Component
  • Qt Projects

My Experience

My Recent Experiences
June 2022 - Current
SDE - I

Results-oriented Qt QML Forentend Developer with 1 + years experience in analysis, design, development, testing, and implementation of desktop softwares. Adept at designing and building applications with usability and high performance in mind.

Industrial Projects

1. Desktop Application Development (Qt QML)
2021 - 2022

Description : Working as desktop application developer with Qt QML

Jan 2021 - June 2022
Embedded Software Developer

Results-oriented Embedded Software and Qt QML Forentend Developer with 1.5 + years experience in analysis, design, development, testing, and implementation of embedded software systems. Adept at designing and building applications with usability and high performance in mind.

Industrial Projects

2. Smart Building Management System (Home Automation IOT)
2021 - 2022

Description : Building Management System to monitor and optimize the heating and cooling energy usage in each user space and building. The system is about collecting sensor data like temperature, window open/close, motion, actuator from the sensors to Sensor Management Unit and then push to the cloud using the Redis server.

Skills Used: MySQL Database, Influx Database, Redis Server, MQTT Protocol, UART & I2C Protocol, Zigbee 3.0, C Programming, Shell Scripting, Python Scripting

Tools & IDEs: VIM Editor, VS Code, Simplicity Studio v4 & v5, GCC Tool Chain

Hardware : NOVASOM M7 Quad Core ARM Cortex A53 1.5GHz, Silicon Lab Gecko Evaluation Board,Zigbee Support Sensors

1. Scoreboard Controller (Embedded Qt QML )
2021 - 2022

Description : Designed to control larger scoreboard systems; Works for baseball, basketball, football, hockey, soccer, tennis, track, wrestling, volleyball.

Skills Used: : C++ programming, QML Programming, MySQL

Tools & IDEs: Qt Creator ,Qt Framework

Hardware : 1.8 GHz Quad Core ARM Cortex-A53 with Real Time 400MHz Cortex-M4 co-processor

My Blog

Latest blog


rvalue and lvalue

The crude definition for lvalue and rvalue might be:

  1. lvalue : A value that resides in memory (heap or stack) and addressable.
  2. rvalue : A value that's not lvalue.
    It resides only on the right side of an assignment expression such as a literal or a temporary which is intended to be non-modifiable.

"C++11's most pervasive feature is probably move semantics, and the foundation of move semantics is distinguishing expressions that are rvalue from those that are lvalues. That's because rvalues indicate objects eligible for move operations, while lvalues generally don't. In concept (though not always in practice), rvalue correspond to temporary objects returned from functions, while lvalues correspond to objects you can refer to, either by name or by following a pointer or lvalue reference."

"A useful heuristic to determine whether an expression is an lvalue is to ask if you can take its address. If you can, it typically is. If you can't, it's usually an rvalue."

- Effective Modern C++





Examples of rvalue and lvalue

Most of the variables are lvalues, and here are examples of lvalues:

// lvalue examples
int i = 7;  // i: lvalue
int *pi = &i;  // i is addressable
i = 10;  // we can modify it

class cat {};
cat c;   // c is an lvalue for a user defined type 

Then, what are rvalues?

// rvalue examples
int i = 7;  // i: lvalue but 7 is rvalue
int k = i+3;  // (i+3) is an rvalue 
int *pi = &(i + 3); // error, it's not addressable
i + 3 = 10;   // error - cannot assign a value to it
3 = i;        // error - not assignable

class cat {};
c = cat();   // cat() is an rvalue

How about the return value from a function:

int square(int x) { return x*x;  }
int sq = square(10);  // square(10) is an rvalue



rvalue and lvalue- Reference

How about a reference, is it a rvalue or a lvalue?

The references that we've been using are lvalue references - references to lvalues. The lvalues references can only be bound to lvalues but not rvalues.

int i;
int &r; = i;
int &r; = 7; // error: lvalue cannot be bound to rvalue 7

However, we can bind an rvalue to a const lvalue reference (const reference):

const int&r; = 7;  // OK

It's legal since when a compiler sees const, it converts 7 to an lvalue, and then assign it to the reference.

The rule "lvalue references can only be bound to lvalues but not rvalues" equally applies to an argument to a function:

int square(int& x) { return x*x;  }
int i = 7;
square(i);  // OK
square(7);  // error, 7 is an rvalue and cannot be assigned to a reference

Is there a way to pass 7 to the square function? Seems I've seen it working.

Yes, we can. The const is here for us!

int square(const int& x) { return x*x;  }
square(i);  // OK
square(7);  // OK

Default arguments in C++ - javatpoint

default

If a class is defined with any constructors, the compiler will not generate a default constructor. This is useful in many cases, but it is some times vexing. For example, we defined the class as below:

class A
{
public:
    A(int a){};
};

Then, if we do:

A a;

The compiler complains that we have no default constructor. That's because compiler did not make the one for us because we've already had one that we defined.

We can force the compiler make the one for us by using default specifier:
class A
{
public:
    A(int a){}
    A() = default;
};

Then, compiler won't complain for this any more:

A a;
Delete Operator in C++ - javatpoint

delete

Suppose we have a class with a constructor taking an integer:

class A
{
public:
    A(int a){};
};

Then, the following three operations will be successful:

A a(10);     // OK
A b(3.14);   // OK  3.14 will be converted to 3
a = b;       // OK  We have a compiler generated assignment operator

However, what if that was not we wanted. We do not want the constructor allow double type parameter nor the assignment to work.

C++11 allows us to disable certain features by using delete:

class A
{
public:
    A(int a){};
    A(double) = delete;         // conversion disabled
    A& operator=(const A&) = delete;  // assignment operator disabled
};

Then, if we write the code as below:

A a(10);     // OK
A b(3.14);   // Error: conversion from double to int disabled
a = b;       // Error: assignment operator disabled

In that way, we could achieve what we intended.

 

 


Qt Quick Application use for to design this UI using the Qt QML language. To run this application using the Qt5.15.x version .

Basically, this UI will teach you how to design component or customize the component according to as per the need.



 

Qt Quick Application use for to design this UI using the Qt QML language. To run this application using the Qt5.15.x version .

Basically, this UI will teach you how to design component or customize the component according to as per the need.

Note :You can find the whole source code on my github.

Contact Me

Contact With Me

To utilize my core competencies for the growth and personality enhancement on the individual and the professional forefront and working towards the attainment of goals of the organization and its development.

  • IMT Manesar Gurugram Haryana India
  • +91 7772076022
  • adeshworkmail@gmail.com
  • www.blogs.thearticleof.com