DRaaS to Aid After a Disaster.

Disaster recovery as a Service (henceforth known as DRaaS) is a set of processes and procedures put into effect by a company to help aid in disaster recovery. These processes can aid in a company’s recovery if anything should happen and should be taken very seriously so that the company can recover and survive a disaster rather than just entirely tanking under the pressure. DRaaS companies should be contacted before a problem arises so that they can ensure you have the proper backup systems in place to protect your business. They are often cheap and with how much they can save you should something ever go wrong they are definitely worth what they ask for.

VaultScape, see video here, is the biggest in DRaaS right now. With their enterpise backup solution they offer physical and data recovery processes and can do your system recovery in no time flat saving you from having to completely rebuild a website or from other problems in a similar field. They will ensure that should a disaster occur saving your company will be as simple as the push of a few buttons. They should have you back up and running within a few hours or even minutes depending on just how much has been lost in your crisis. VaultScape also offers backup servers which will allow you to save any necessary data to them and allow you immediate access to old files should you need them for any other reason. VaultScape is certainly the company to go to for all your DRaaS needs though they should absolutely be visited before the disaster rather than after.

Finding the right DRaaS and getting the help you might need long before it happens is simply good foresight and can allow for you to have some options when your company’s world crashes down. You can hope to never need to use these systems but if you end up needing them you’ll be glad that you’ve kept them up to date and ready to help you in your time of need.

Online Backup Alternatives

Have you ever lost important data, photos, documents or programs that you had acquired over a period? In the past, we did not have feasible alternatives. We relied on floppy diskettes, external hard drives, flash drives or the hard drive itself. If you have ever had a failure of your hard drive, flash drive or external hard drive you will appreciate these services. There are now alternatives and never again lose that important data.

VaultScape is one of the innovators in this field. It allows you to back up your data to their servers. When you hear the term Cloud backup, you assume it goes somewhere in outer space. This is a misnomer because you are actually sending it to a secure server that uses encryption to protect your data.

Cloud Backup may seem expensive in the beginning, but it also serves as disaster recovery solution. Disaster recovery as a service is relatively new. In the past, it would have required an expert to recover your data. Disaster Recovery as a Service can possibly save businesses millions in the future. Businesses need to ask themselves how important is their data. With data backed up in the cloud, they have the peace of mind that it is safe. Numerous s companies provide this service. VaultScape is a leader in this field. Cost versus convenience is a factor in choosing a service.

Online Backup also known as Cloud storage is data that is remotely stored on a server owned by a backup service. It has advantages and disadvantages some of which I will briefly discuss. Advantages that I have personally experienced have been beneficial. If you have ever had a virus on your hard drive and had to reformat it, cloud storage makes sit easy and convenient. You are also able to access the files remotely from any PC, laptop or tablet. How convenient can that be? You are also able to share files with others. One of the main disadvantages you might experience would be with bandwidth. If you have to share large files, this can be a disadvantage to you.

Whether you decide to use http://www.vaultscape.com, a cloud-based service is a matter of personal choice. The advantages outweigh the disadvantages.

Evolution Of Business Software

Small business and non-profits are always seeking low cost, yet technologically sound investments to help manage their accounting needs. Too often, these small businesses rely upon handwritten notes scrawled upon ‘stickies’ or notepads. Another peril companies face is by choosing outdated accounting software that is no longer relevant to modern needs or being corralled into purchasing big name products that are much too advanced for their needs.

When selecting POS software or generalized accounting software for your small business or non-profit needs, it is imperative that you select a feature rich program. You will want access to detailed reports that you can customized in any way you see fit, quick view of purchase and debt histories, and an easy to use interface that is not over complicated or confusing.

Non-profits will require specialized needs be met in their accounting software. You will need to handle contributions from you various donors, grants you have received throughout the year, and investments and fund raising income that will make reporting this information on your taxes easier. Generally, you will not have the cash or the experience needed to purchase the super expensive specialized accounting software solutions that are available, so it is a must that you do your research and find a low cost but reliable software solution that handles your needs well and accurately.

Cougar Mountain Software provides nonprofit accounting software that is designed specifically for the small business or non-profit organization. Software packages such as FUND Basecamp allow your organization to grow well beyond the scope of your current solution. It allows you to monitor multiple bank accounts, track expenses by individual department, set up and manage budget plans and generates official auditing trails that will ensure your company is protected each tax season.

Cougar Mountain’s solutions are designed not only to keep up with your company’s growth, but also to help grow it. Each software package is designed to be completely modular. This allows your company to purchase only the features you need, and cut out any expenses you do not require. It also allows your company to meet the demanding needs of growth quickly. Scaling your software to your company needs and size is as easy as adding a new module.

In business for over 30 years, Cougar Mountain (http://www.cougarmtn.com) has a proven history of delivering smart, reliable products and solutions to companies all over the world. They understand the needs of the non-profit and provide a one-stop solution for your accounting needs.

Sharepoint Training to Help Your Career

SharePoint TrainingSharePoint training with Learn iT is essential, to help further a career in the business world and any collaborative environment. It is now easier and more convenient than ever, to learn SharePoint. SharePoint has a help ebook called the The eGuide, which has been published for those who wish to learn how to meet with others in a shared industry. It is available for those who wish to take advantage of the opportunities for easy collaboration.

With the benefits of using this collaborative tool, users can get help to master the software for all their business needs. With SharePoint training, SharePoint training classes and a full spectrum of the SharePoint training courses, all members of a software design team can do better team work. Sharing content and ideas will increase the productivity and flow of the software development life cycle.

What is the reason for using SharePoint instead of other collaboration software?

If you need help implementing SharePoint contact Expert SharePoint Consulting.

In information technology, IT professionals and developers can gather their resources and collaborate freely and conveniently from anywhere. Moreover, those who are web site owners, web masters, and power users can also take advantage of this organizing software for making plans, working out details and going through the evolutionary process from hatching ideas to launching new software platforms.

SharePoint Training ClassesThe availability of uniform and focused training can be found in the Microsoft portal for SharePoint, whether attendees are just getting started or are advanced users. The best feature of these courses, is that there is a full day of hands on activity in the Megalab, along with best practices scenarios, that will ensure a completeness to training.

Microsoft offers tutorials on their main web site. There are also many live seminars that are available by third party vendors that offer instruction, help sessions and internet conferences on how to use this great software to the full advantage for a great team effort.

What are some of the SharePoint courses at www.learnit.com?

MS 10175, is a Microsoft SharePoint 2010 Application Development course, that is offered in a five day curriculum and is lead by an instructor. Many .NET developers will benefit from the practical tips and labs given. Another course available is the MS-10231 for Designing a MS SharePoint 2010 Infrastructure. This course is lead by an instructor over a five day period. It is for IT professionals that design and implement MS SharePoint 2010. The cost per person is just under $2800.00 with a delayed billing plan.

Becoming Cisco and CCNA Certified Will Help Your Career

Cisco TrainingBecoming certified with the best Cisco and CCNA training courses offered at Learn iT is a must for those looking for employment as IT or Networking professionals. Employers are looking for candidates with Cisco and CCNA certification because such certification serves as an indicator that the potential employee will be able to setup, manage, and troubleshoot standard and higher level networking and IT applications. Such applications include setting up Local Area Networks (LAN’s), Virtual Private Networks (VPN’s) and Redundant Networks, eliminating data loss and boosting throughput and efficiency for the entire business.

CISCO and CCNA Certification will also indicate that the applicant is knowledgeable on the most widely used networking protocols, such as Standard Ethernet, Ethernet IP, Ethernet TCP/IP, IGRP and IP RIP. Knowledge of these protocols allows IT and Networking Professionals to be comfortable with most networks, even if they didn’t set up the network personally. A protocol is a developed set of standards within networking, meaning that if an IT worker is familiar with a protocol, they’ll be able to work with and troubleshoot any network using that protocol.

CCNA TrainingThere are five levels of CISCO Certification offered at www.learnit.com (Entry, Associate, Professional, Expert and Architect) and eight different path choices covering the spectrum of IT and Networking skills, so you can choose the appropriate training options that would be most applicable to your field of choice. Showing a potential employer the steps you have taken to further your own career potential will not only provide a visible outline your core skills and competencies (and whether they fit with the job you’re applying for), but will also show them that you have gone above and beyond the rest of the pack, dedicating your time and effort to Cisco training classes and certification that will serve you well once you become a working professional.

Invest in becoming Cisco and CCNA Certified now. You will learn the skills you need to succeed in the IT and Networking world and have the certification to prove it. Check out http://www.learnit.com/cisco/ for an up to date training schedule.

Software Engineers on Tap

Are you having problems with your internal software developers? It may be time to use an outside consulting service to get your important projects done. You don’t want to admit it, but you question the abilities of the internal software department. Your business needs a new critical software system completed and you don’t have the luxury of another failed software project.

In the past, you have communicated requirements and the software that was delivered missed the mark. Now you are faced with another project and you don’t want to turn it over to them again. It is time to look at http://www.ppcmanagedservices.com.

Software engineering is a tough business and there are differences in skill levels. You need to make sure that the software engineers you choose for your project are experienced with newer platforms, languages, and technologies. Get software engineers that understand the changing online landscape and are committed to staying on the cutting edge of software engineering standards.

Carefully consider your choices for software development. They hired you to make the tough decisions. Your job is on the line. Failed software projects can ruin careers. Secure your position by outsourcing software projects to a top it consulting firm.

1010 Talk VoIP Plans

In times like this when the country’s economy is not getting any better but the people’s needs, like Assisting Hands a homecare agency and other things including communication hasn’t changed, it is significant that they look for the most cost-effective way to make ends meet.
1010 Talk has just provided a solution for those who are always on call or staying on the line to reach out and communicate with people from different parts of the world. It includes plans which allow you to make unlimited calls both locally and abroad. It allows subscribers to easily manage their account online. It also includes free voicemail services like voicemail to email. Aside from this, they also support call transfers, three-way calling and call forwarding. Automatically, when there is an incoming call, the caller’s name will be displayed on the screen.
The plans can be Pay as you Go in which the users pay a very minimal amount every time they make a call. Below are the details for each plan:

  • For $10 (India Premium): This is specifically for those who make calls to India where they get really low rates when calling either a land line or mobile phone.
  • For $30 (Gold): This is useful to make as low as $.10 a minute per call to Israel.
  • For $50 (Platinum): This offers the lowest rate available and this is the best option when someone always makes international calls.

These are great for people who usually make local and international calls and are complaining of how much they have to pay for telephone bills. Although not stated above, 1010 Talk plans actually start at five dollars a month if you choose the right SIP trunking provider. With this, the user will have to pay for every outgoing call he or she makes but can enjoy unlimited incoming calls. And not only that, they also offer different ways to give the subscribers’ money back. Watch out for the following on the site where you can also register for your preferred plan:

- 1010 Talk Discounts Coupons

- Coupon Codes

- Free Shipping Code

- Promo Offers / Promotional Codes

- Money Off Coupon Codes

- Deals, Gift Coupons

It is amazing how the company is very willing to give back the money of people who want to subscribe to 1010 Talk.

Single board computers

PROS AND CONS OF SINGLE BOARD COMPUTERS

 

Single board computers
Single board computers are those little circuit boards with the necessary components to be used as a digital computer and ideal for an outsourced IT specialist like PPC Managed Services. They are not commonly seen as they are and that is the reason why most of us can’t recognize them even if we have one in front of us. However, a lot of people have used single board computers because they are often embedded in gadgets like mobile phones, facsimile machines, GPS and other computer technological products.


Single board computer is what a printed circuit board with memory, a processor, input – output and a digital clock is called. Single board computers (otherwise known as SBCs) look a lot like the motherboard inside an ordinary personal computer but with a small design.

Because they are really small, they are also known as embedded computers. SBCs may come in different sizes, too. In fact, they are used from aero planes to sky rockets. In a more general sense, they can be present in toys or highly technological shoes. It is easy to assume that everyone has used single board computers without realizing that they exist.

Nowadays, smaller versions of computers are becoming very common. While they can accommodate full versions of operating system like Windows XP, SBCs have their own internal operating systems which don’t occupy much space. It is a fact that simpler operating systems mean not costing a lot. Without affecting processor performance, input/output, capability to store some files and its wireless connection, single board computers can do the basic functions of a personal computer.

The Good and Bad about Single Board Computers

Like any other products, SBCs have two sides, too. The decision to whether or not to employ the technology of single board computers is influence by how important the application is and how much it costs.

Below are the positive factors to consider:

  1. The high technological advancement nowadays have improved the capabilities of single board computers as they become smaller and less costly.
  2. Internet access using the SBCs has been made possible with the use of Wireless technology.
  3. Because of it is now available in the competitive market, better functions and variety of single board computers are also made available to the users.
  4. Highly developed computer technology presents dependability for industrial producers and the quality of their products using SBC’s.

On the other hand, employing SBCs may not be cheap or reasonable when incorporated with products of high volume and other applications. Also, there are some of these applications that need made to order sizes. Another possibility is that the input/output of certain devices are not compatible with single board computers.

Despite these possibilities, though. A lot of companies opt to use SBCs in the production of their high end devices rather than make their customized industrial single board computers, which is why a lot of organizations use www.ppcmanagedservices.com a managed services provider to maintain them.

QT

Qt is defined as a cross platform application. It is a framework which is used in to develop application software. This application software is developed with the help graphical user interface. This cross platform application is also used in developing non graphical user interface programs. Some of the programs which use this application program are Google, Adobe Photoshop, Panasonic, Philips etc.  This application uses the C++ language. But Qt uses a unique code generator with many macros to enhance the language. Qt can also be used in many programming language with the help of language bindings. It is used on many platforms and is also internationally recognised. This cross platform application was developed by Trolltech but they later sold this application to Nokia. The software libraries which use this application are advanced component framework, KDELibs, LibQxt etc.

QT game screen

QT demo application

Qt has always been available through a commercial license which allows the expansion of proprietary purposes without any restriction on licensing. In addition, Qt has been steadily made open through an increasing number of other free licenses. Currently, Qt is accessible under the General Public License (GNU); this provision makes it available for utilization for both free software and proprietary. Before the 1.45 version, the source code used for Qt was published under free Qt license. This was not really viewed as amenable with the free software description of the Free Software Foundation and neither by the Open Source principle as described by the Open Source Initiative. The reason behind this was that it did not allow the distribution of other modified versions.
In 1998, many controversies broke out when it was acknowledged that KDE’s  KDE software compilation would undoubtedly become the leading desktop setting especially for Linux. Owing to the fact that it was founded on a Qt basis, many professionals who took part in the free software movement became apprehensive that an imperative component of one of a leading operating system would become proprietary.
Along with the release of the 2.0 version of the toolbox, the license was transformed to the QPL (Q Public License). QPL was a free software license but it was considered incompatible with GPL by the Free Software Foundation. Trolltech and KDE then sought out many compromises which would imply that Qt will not be regarded by any license more restrictive than QPL, even in the case Trolltech goes bankrupt. This major issue led to the invention of the free Qt foundation by KDE.

Power Line Communication

Power Line Communication is a fairly recent technology which is used to transfer data and establish means of communication at broadband speeds over transmission lines. The technology is widely also known as Power Line Telecommunication (PLT) or even Power Plus Communications (PPC). The technology uses advanced modulation technology which super imposes the data signal of high frequency over the low frequency power signal.
The research into PLC started off in the mid 1980’s in the band range of 5-500 KHz and was developed for only unidirectional communication but with time the system has been advanced to permit bidirectional transmission of data signal.

power line communication
Continue reading

Modbus protocol

Modbus

Modbus is a communication protocol which is used with programmable logic controllers. This communication protocol was published by a firm named Modicon in 1979. It has now become the most de facto standard protocol in the industry. Modbus is now very commonly used as a means to connect the industrial electronic devices. This protocol is very easily available as it is very extensively used. There are certain important reasons for the use of Modbus rather than use of other communication protocol. These are as follows:

1.This protocol is published openly and is royalty free.
2.It is an easiest way to setup an industrial network.
3.This protocol moves raw bits without any restrictions.

modbus protocol

modbus webserver

Continue reading

PIR motion sensor

PIR motion sensor


PIR sensor

PIR or the Passive Infrared sensor is an electronic device which is used to measure infrared light radiating from a body in its field of view. The sensors are known as Passive since they do not have an in built IR source like active sensors and detect the natural radiation of the body.

All objects have a certain body temperature and at any specific temperature there is a certain radiation that the body emits, this is called the Black Body Radiation phenomenon. The infrared radiation is undetectable to the human eye but can be detected by a PIR sensor. These sensors are commonly used as motion detector that is whenever a different body of different temperature passes from ahead of it, there is an apparent change in the infrared frequency detected due to different temperature of each body. This application is widely used in security equipments and other photo sensing equipment. The PIR sensors are very often paired with other devices to increase their range to encompass even human body sensors.

Continue reading

T-Engine and T-Kernel

T-Engine

T-engine hardware

T-Engine is project that standardize the hardware part of development board (not the standardization of main processor).
This project is well-known amongst the processor manufacturer company in Japan. You can buy T-Engine development kit directly from Japanese
microprocessor manufacturers such as Renesas Technology or from electronics company like Personal Media Corp.I list websites where you can
find T-Engine development board to buy as below…
Continue reading

Interesting GPS locator module

SUP500F module

GPS Locator is GPS used for indentify the position at the point that receiving the signal. This article is about the review of SUP500F ,
small GPS receiver module with built-in antenna.
SUP500F module receives signal from satellite in order to find the coordinate on the earth. It’s cheap and suitable for study or apply
for practical use. The antenna is located inside its body so you don’t need to connect addition external antenna to this module.
It’s small and can be enclosed in the box , however due to it use internal antenna , the efficiency of signal receiving will decrease if
you use it inside the building (it prefer to use outdoor).
Continue reading

Wi-Fi Direct Technology

Monday , 25 October 2010 is the day that Wi-Fi direct certification was released to the mobile device manufacturer for the first time.

wifi direct

Wi-Fi direct is technology that developed from original Wi-Fi technology (it’s developed by
WiFi Alliance). This technology enable two mobile device to communicate to each other with ease
and safty.It’s also known as “bluetooth killer” because it can substitute for bluetooth technology
in every function of bluetooth. Otherwise it support more applications and more effective than
bluetooth technology.So bluetooth technology may come to an end in the next few years.

Continue reading

How to choose Xbee module

Xbee

How to choose Xbee module.

Two steps you should consider when you want to buy Xbee module.

1. Range of send/receive signal of Xbee module.

Xbee module can be separated obviously into two series in term of “The range of send and receive signal”.
The word “PRO” was used to indicate the difference between each series. Xbee series without word “PRO”
is designed for short-range wireless communication (around 100 metre when use outdoor) with power output between 1 – 2 mW.
Example of Xbee module in this series is XBee 802.15.4 .
Xbee series with word “PRO” is more powerful. It’s designed for long-range communication (up to 1600 metre when use outdoor) and
have power output between 50-60 mW. Example of Xbee module in this series is XBee-PRO 802.15.4 .
Continue reading

More on Xbee part one.

Xbee is the device that integrate Microcontroller and RF IC into one piece (one module).
It work as transceiver equipment (the equipment that can both send and receive signal).
Xbee is half-duplex and it operate at 2.4 GHz frequency band. It consume low electric power and easy to use because
the interface used for sending and receiving data with Xbee is UART (TTL), so we can connect the UART communication pin of Xbee to
the UART of microcontroller directly.

Common features summary of Xbee
1. Operating Frequency ISM Band 2.4 GHz
(ISM Band is the frequency band that reserved for use in scientific , medical and industrial purpose. To know more
about ISM Band , please visit this wikipedia page)
2. Supply Voltage between 2.8 – 3.4 Volt
3. Can use together with various types of antenna such as Chip Antenna , Whip Antenna and connector like
U.FL connector , RP-SMA connector (but you have to find the 2.4 GHz antenna in order to use with these connectors).
4. Power Down Current < 10 uA
5. RF data rate of Xbee is about 250 Kbps (this is the data rate of signal that sent via the air)
6. Serial interface data rate is between 1200 - 115200 Bps (this is the data rate of communication between Xbee module
and microcontroller)

Continue reading

Arduino revolution

Yesterday I visited Arduino website and found a change in their main web page, so I continued to read their blog and found some interesting alteration
that I can summarize to you as below…

arduino

Arduino new revolution

1. Arduino has a new logo (as you can see in the picture above). I thing it is “Atom” or “Infinity”. The new logo is easy to remenber than the old logo.
2. Arduino.cc will open their own webstore on 18 October, this year. New webstore will eliminate the difficulty in ordering arduino board that made by
Arduino.cc. In the past , they sold their arduino board via distributors or electronics shop only. There’re many electronics shop in the world that sold
arduino board (some shops sold real board while some shops sold clone board). For this reason the people may confuse about how to find the electronics shop
that sold the real arduino board of Arduino.cc.

3. They released the new arduino board named “Arduino Uno” and “Arduino Mega 2560″.
Both board still use AVR chip as their main processor.
(Arduino Uno use ATmega328 as main processor while Arduino Mega 2560 use ATMega2560 as processor).
Arduino Uno is special board that replace ft232 chip (FTDI USB-to-serial chip) with ATmega8U2 (8-bit microcontroller with Programmable USB
controller).
4. They launched Tinker Tookit, the new sensors development module that can connect and use with arduino board.
5. They plan to release Arduino Ethernet board. This board isn’t the ethernet shield but it is board that include ethernet interface equipment
(such as ethernet chip , ethernet port , etc) into main PWB. So in the future , user can upload program to the board via ethernet
interface (this feature is exist in mostly embedded linux board that you can upload anything to the development board via FTP or TFTP).

To view more information , please visit Arduino.cc website and Arduino.cc blog.

I am the one who like Arduino so much and I hope this change will bring a lot of good things to Arduino developer and Arduino user all over the world.

Thank you,
Jitkasem

Fixed point (part two)

Fixed point.

Please read this article before you read the below content…

However , Fixed point arithmetic is popular in embedded system or the high performance system but low power consumption (system that desiged with the
limitation in budget).The primary advantage of fixed point system is “in fixed point , the calculation process of rational number is done in the same way as
calculation process of integer number”. So , it has advantage over floating point in that it require only Arithmetic Logic Unit or ALU (ALU is only the
unit that exist in almost CPU in the world) in its computation process. On the contrary , floating point arithmetic require both ALU and FPU (FPU is hardware
processing unit that used for handle the floating point calculation process). Please look at this page for more information about FPU Design.

You may find out some digital signal processing (DSP) chips don’t have the FPU part , that’s not strange because fixed point can be used in DSP tasks too.
The DSP chip without FPU make its cost cheaper, furthermore it consume less energy when compare to DSP chip with FPU.
Blackfin of Analog Devices or TMS320C5x series of Texas Instruments is an example of Fixed-point DSP chip.

Due to the operation speed of Fixed point is faster than floating point, so in some kind of tasks that need to complete calculation process
within the limit of time, in this case Fixed point DSP processor is more applicable than floating point DSP processor.

The efficiency of DSP processor can be measured by “the capability in multiply and accumulate per second”.The official technical word call
it “Millions of Multiply Accumulates (MMAC) per second” or “MMAC per second” or MMACs.
The MMACs value of fixed point DSP processor is higher than floating point DSP processor.
You can easily compare DSP chip from Texus Instruments in these two series , TMS320C67x (Floating point processor)
and TMS320C64x (Fixed point processor) , please click the link under the chip series and you will know that the peak MMACs of TMS320C64x series
is much higher than TMS320C67x.

So , I can summarize that high performance DSP chip mostly use Fixed point arithmetic. Task that suitable for using high MMACs Fixed-point DSP chip
is the task that include heavily mathematical calculation such as Audio Coding or Graphic Engine in video games box etc…

The next article is the last article relate to fixed point. It will about Q-format.

Thank you,
Jitkasem

Reference : Semiconductor Electronics Magazine , Thailand (September/2553 issue).

Fixed point and floating point (part one)

Fixed point.

Numerical system in computer can be separated into 2 group , one is Floating point and another one is Fixed point. Floating point is mainly
used in calculation of software that run on PC. In PC there is the FPU or Floating Point Unit so it is possible to use floating point numerical system.
On the other hand , in embedded system , the capability of main processor is limit and maybe there’s no FPU so in calculation , the usablility of Fixed point
instead of Floating point is necessary.

Fixed point is numerical system that use binary number or bit (0 and 1) to represent an integer , rational number or signed integer (such as -1,-3,-5).
Most people think that fixed point is the system that used for calculated only integer but in fact , it can be used for calculate an integer , rational number and signed integer too.

The difference between Fixed point and Floating point.

First , let me talk about rational number…

Rational number is derive from the representation of ratio of two integer A and B or A/B. You can write rational number in decimal format
such as 12.25 , 1.10 , etc. The symbol between integer part and fractional part is called “decimal point” or “radix point”. Position of radix point in the rational
number can be anywhere depend on the significance of that number.

Fixed point number represent the number that the position of radix point is fixed and not change even though that number is modified by the
computation process.This mean that in Fixed point the number of digits come after the radix point is also fixed too.

Floating point number represent the number that the position of radix point is “floating” (not fixed at any position). The position of radix point
can be changed during number is modified in computation process. Or this mean the number of digits come after the radix point can be varied (not fixed).

From the above information, when compare Floating point with Fixed point , range of number can be represented by floating point is larger than fixed point.
Floating point is suitable in the task that require intensive computation such as Hi-Fi Audio System, Radar System, Medical Electronics system , etc.
General purpose computer is mainly use Floating point too. The popular programming language like C and C++ are also not support the fixed point , however
there’re many existing fixed point math libraries able to use with C and C++. The IEEE Standard for Floating point Arithmetic is IEEE 754 and this standard is
implemented into both hardware (FPU) and software of computer.

In next article (Part two) will be about the advantage of fixed point.

Thank you,

Jitkasem

Stubs and Drivers testing

It is all of the time a good thought, to design and check software programs in “bits”. However, it might appear impractical, as it is difficult to envisage how you are able to test only one “piece” when other “pieces”, which it utilizes, have not even developed. To figure out these types of problems developers utilize stubs and drivers testing method.

In the process of white-box testing, you should run the source code with planned input and verify to make certain that the source code gives preset outputs. For white-box testing oftentimes software testers write down stubs and drivers testing.

Driver for Software Testing

In software testing driver is the part of source code, which clear test cases into other part of code. A test driver or test Harness is supporting source data and code utilized to test software that provides an environment. It might also be called as a module of software, that is utilized to raise a module on test and render test inputs, execution, control, monitor and report results of test or most plainly a row of code, which calls a process and authorizes that process a value.

As for instance, if you desired to give motility to a player on game software, then the driver code will be moveplayer(player, LocationX, LocationY). The driver code will probably will be called from main method. A case of white-box test would run this line of code driver and verify ” player.getPosition()” to assure that the player is at present on the anticipated cell.

Stubs for Software Testing:

Stub is artificial process, unit or module, which denotes for an incomplete part of a system.

Four common types of Stubs are:

1. show a trace message
2. show parameter value(s)
3. Return a value from a table
4. Return table value selected by parameter

Stub is a program that is utilized as an alternate for the module’s body of the software which is or would be defined in a different place or an object or dummy component utilized to imitate the conduct of an actual component until that component is developed.

At last, the artificial process would be accomplished with the correct logic of a program. All the same, developing the stub permits the developer for calling a method in source code that is developed, yet the method do not have the desirable performance.

Stubs and drivers testing are frequently regarded as throwaway code. Nevertheless, they are not been cast away: Stubs might be filled to build the real method.

Thanks.

NetDuino

netduino
netDuino is another opensource hardware platform designed by Secret Labs.
Main microcontroller in this board is ARM7 from Atmel (AT91SAM7X512).
The IDE for developing program on netDuino board is MS visual C# 2010 (you can’t use C# 2008 and older version of C#) and it’s free
for download.
Other software need to install before start writing program is .NET Micro Framework and netDuino SDK (see this page for download them).

It include well-known interface bus such as I2C , UART , SPI and I/O port including GPIOs, PWM (pulse-width-modulation) and ADC
(Analog to Digital Converter).

Main development language is C#, so if you’re familiar with C# and have knowledge in microcontroller interfacing then you can make
a lot of fun projects from netDuino (however you also have to study about how to use the library of .Net Micro Framework).

With the price of 34.95 USD make netduino one of interesting development board for everyone who want to learn .NET Micro Framework
in order to make a little embedded project.

There’s an emulator for netDuino board too but I’m not sure that it’s included in the netDuino SDK or not .I suggest you to use an emulator from http://netduinoemulator.codeplex.com/ or you can download it from
this thread of Netduino forum.
It run on top of MS .NET Micro Framework and it help you to test and debug your source code without having the real netDuino hardware.

I also compare netDuino with FEZ domino and I found that the result are as below
1. Price of netDuino is cheaper than FEZ domino.
2. Fez domino has peripherals attached to the board more than netDuino.
3. Fez domino use LPC2388 (144 pinout 16/32-bit ARM7 from NXP) as main processor while netDuino use AT91SAM7X512
(100 pinout 32-bit ARM7 from Atmel) as main processor.
4. Both FEZ domino and netDuino use .NET Micro framework to build applications and source code of the application is written in C# language
(USE Microsoft Visual C# 2010 Express Edition as their IDE)
5. They both are open source hardware platform and also have an emulator run on top of .Net Micro Framework.

Other useful netDuino resource
1 netDuino community
2 .Net Micro Framework advance emulator
3 netDuino project page

Reference
1 electoday.com
2 netDuino.com

Look at two videos of netDuido below , the first video is about “how to build your first netDuino application”
and the second video is about NetDuino Emulator


 

Thank you,
Jitkasem

Test driven development (test first)

Test driven development

Test Driven Development is one of test method that specializes in the test repetition.
The reason for doing this is to test codes repeatedly with hopes of making a given software better and more effective.
The Test-Driven Design has several steps that must be followed before the test is successfully completed.
The first step requires writing a test (so it’s also called test first). There has to be a sample diagram or flowchart before any other actions can be taken.
However, when written test finish , it’s not mean to success the TDD process because it is written before the physical test (real test) is performed.
The person writing the test must know precise specification of the features being created as well as everything required for creating test suite.
In most cases the writer obtains the information about the feature required to create the test by using use cases or user stories of the software that will be run the test on.
After gather all useful information then source code is written. Next, every test must be ran to written code to determine that the written code is fail in the test suite
or not.
At this point, it should pass and if all the tests pass then it’s time to proceed to the final step. The final step is all about cleaning up the code.
This is done by re-running the test cases in search for defects and so on . There has to be certainty that there is no damage being found to any other software functionality
as a result of the new software can be released.

Advantages of test first

1. When you continue to do the test first then you will get a lot of test cases. After that when you want to restructure the system, you can do it easily
and don’t have to fear about the bugs that may happen because when you finish restructure the system , your new system may not pass some written
test cases, so at this point you can retrace to modify the written test cases and then try to validate the new system to pass to modified test cases.
(If you don’t have test cases , after complete restructure your system for 2 or 3 months , the unknown bugs may occur because the restructured system
was not tested. At this time you have to fix bugs but it’s so difficult to fix them due to you may forget about wherever in the function or files that you used
to modified source code. In my opinion, if your system is very complex , your certainly have to write intensive test cases )

2.With test first you have to write test documents before write the code , this way will help the programmer or developer to plan before they begin to write
code (they have to write the code to pass the test documents). As a result your entire code will look better and you will get the software that have a good
structure. It also help you to reduce runtime error or unexpected bugs (so cost to fix the bugs is also reduced too).

Test first is differ from unit test as follow
1. Test first is done before writing source code but Unit test is done after finish writing the code.
2. In test first , you don’t need to look at source code to write the tests but in unit test , you must use the written code to do unit test.
3. Unit test help you to ensure that your written function or piece of code is work or not but test first help you to ensure that
entire code in the project work well or not.

Thank you,
Jitkasem

Wireless sensor network (WSN)

Wireless sensor network (WSN)

What is WSN?

The wireless sensor network was primarily developed as a military application to survey a battlefield. However, now a WSN is commonly used in many other industrial and commercial applications to monitor environmental conditions, health care applications and traffic controls. There are many different kinds of wireless sensor networks however; they all normally come equipped with a radio transceiver or a wireless communication device or a power source.

There are many applications to this technology and typically involve monitoring, tracking or controlling. Area monitoring comes as one very commonly used to be able to track any kind of movement whether it is heat, pressure, sound, light or vibrations in an specific area.

This technology is now being utilized by almost every industry and this includes the environmentally related industry as this is a technology which allows the reading of many different kinds of changes in the atmosphere and how they can guide those in the industry to determine simple factors like water levels or more complex aspects of the environment like the possibility of an earthquake in an specific area.

Vehicle tracking and movement can also be tracked through this technology and therefore, it is also being used by the security industry. Medical science also depends on the wireless sensor network to be able to track the changes on some of the health monitors which will immediately notify the medical staff of a change in the monitoring device.

Zigbee is a technology developed as a global standard to comply with the needs of low cost and low power wireless networks. It has been designed with the facility to be able to provide an easy to use wireless solution which creates a secure and reliable network. Some of the features of Zigbee include the ability to support multiple network functions like the point to point or multipoint to point and also the mesh networks as well. Since it functions on a low duty cycle it is also considered to be very good on battery life. And it has the direct sequence spread spectrum as well. It also has the ability to run for years without any kind of maintenance and with an automatic meter reading.

TinyOS has been designed for wireless sensor networks. It works in component based software that supports high degree of data in a very small space and which has been designed to minimize power consumption, while being able to use all its sophisticated protocols. The wireless sensor network has been created taking into consideration a variety of applications, incorporating various components and being capable of deployment of new environments. However, it also requires greater processing compared to the wired networks. It is a complex mechanism which needs to be properly processed. There are many different kinds of WSN platforms and they vary in size and capacity depending on which components are active.

SOS is an operating system for wireless sensor network which is normally utilized for message passing services, dynamic memory allocations and module loading. The components of the SOS are comparable in functionality to Tiny components. SOS project is now no logner continue to develop. However, the source code is still available to download up until now.

Another specific Operating system for the WSN is the EPOS or Embedded Parallel Operating System which is based on runtime support for the environment. This framework allows programmers to develop their own applications and tools through their system in accordance with the requirements of these particular applications.

The right Operating system for the Wireless sensor network will allow applications to express when certain software components are not being used, allowing the system to work on the levels that it needs to and thus implement less power as well.

Thanks.

Radio Data Systems

Radio Data Systems (RDS) are a technology that is quickly catching on and becoming a popular feature in radios. Radio Data Systems are becoming an integral part of all radio systems today. Radio Data Systems give radio stations the ability to send information/data to your radio. Have you ever seen the artist and song name on your radio? That is made possible because your radio has a built in RDS.

Most new radios support Radio Data Systems. If you can’t find a radio near you then look no further than your car for an example. Most car manufactures are adding Radio Data System support to the radios of their cars. Pay attention to the information being presented on your radio player and you’ll see how an RDS compatible radio comes in handy.

 

 

Radio Data Systems come equipped with many key features as below…

1. Program Service name (PS)
2. Program Identification code (PI)
3. Enhanced Other Networks (EON)
4. Clock Time (CT)
5. Regional (REG)
6. Alternative Frequencies (AF)
7. Programme Type (PTY)
8. Radio Text (RT)
9. Traffic Announcement (TA)
10. Traffic Programme (TP)
11. Traffic Message Channel (TMC)

Source : Wikipedia

This article doesn’t describe all above RDS features.However, I pick only some important features to explain in this article. Some of the them include, RadioText, alternative frequencies, traffic announcement and programme type. RadioText (RT) allows radio stations to send a message that can be unchanging, or a message that changes depending on what the radio station is playing. Alternative frequencies (AF) are one of the best RDS features; especially for car radios. It allows the frequency to be changed on the radio’s receiver for stronger reception. Traffic announcement (TA) is also a very helpful feature. If you have a multifunctional radio player and your listening to a CD but still really want to hear the traffic announcement/update this feature will stop the CD and take you to the station that’s making the traffic update. Another terrific feature is Programme Type (PTY). Programme Type categorizes each radio station into a genre. So if you want to listen to the news you can quickly and easily listen to all the news channels and not have to go through the music channels. It also categorizes stations according to the style of music they play. So if you’re in the mood for rock and roll you can easily find all the rock and roll music stations and not have to go through the other music (and news) stations like opera, rap etc.

So as you can see Radio Data System’s offer a lot of features that are very practical and can help in day to day life. Radio Data Systems make your radio player more efficient and easy to use. It’s easy to see why they are becoming so popular. For more information about radio data systems please take a look at RDS forum website.

Simulation software for embedded system.

Here , I list some softwares that used for simulate the work of microcontroller or electronics circuit.
Like below…

1.VIRTUAL BREADBOARD (VBB)
I think VBB is the best arduino simulator at this moment. This software also
include some examples of arduino model ready for simulate. You can write a source
code of arduino , draw schematics and simulate it using VBB. It can simulate the
PICMICRO and PARALLAX processor too. I recommend this software for person
who want to study how to write program for arduino but don’t want to associate with
making the real hardware for test the written program. Visit virtualbreadboard website for more information about this great software or view the demo of this software at this link.

virtual-breadboard-arduino

virtual-breadboard-arduino

Continue reading

NXP Cortex-M0

After NXP had launched ARM Cortex-M3 to the market (LPC1700 and LPC1300).They have
launched Cortex-M0 (LCP1100) to the market since the beginning of 2010.Please look
at the picture below to compare each of NXP ARM Cortex series.

Comparison of Cortex Series

Comparison of Cortex Series

Continue reading

Why Is Load Testing Useful

Load testing is the process of putting increasing demand on a system or software until the system or software breaks or fails to function. The purpose of load testing is to test the system against unusually high usage patterns to determine how the system or software will react. 

One example of the need for this type of testing is a web server hosting a web site that is seasonal or receives peak levels of web traffic during highly publicized special events. Another example would be a link to a small web site from a very popular site, that then doubles or triples the number of concurrent visitors to the smaller web site. Load testing in each example could determine ahead of time whether each site could handle the increased traffic without the hosting server failing to serve web pages to visitors during the peak load. 

Continue reading

Linux bootloader.

What is a bootloader?

In computing, booting or booting-up, is the process that starts an operating system when a computer system is turned on. A boot sequence is then followed, step by step, running some initial tests of the hardware and then initializing the bootloader.

A bootloader loads the operating system, often from a list of options, selecting the default option if another is not selected by the user within a set period of time. The user interface one sees can be a simply text display or a graphical user interface.

When a computer starts-up, the BIOS is loaded. The master boot record (MBR) is accessed from the first sector on the boot-able media. The MBR is limited to a single operating system, i.e. one distribution on Linux (Ubuntu, OpenSuse, etc.). The MBR is split up into two parts, part or all of the boot loader and information on the drive partitions. The BIOS locates and loads the first part of the bootloader, known as the initial program loader or IPL. The IPL checks the partition table to locate the second stage of the bootloader and load it.

The second part of the bootloader is much larger than the first, which is limited by the size of files the BIOS can access. The second part is also the part that is visible, so often people think it is the only part of the bootloader. This part contains the user interface to display the bootloader to the user and kernels to help the computer function correctly in the initial stages.

With newer Linux bootloaders, you have new options like the ability to load from a list of operating systems, use encrypted passwords and so on. This allows the flexibility to have a number of different operating systems installed on separate drives or separate partitions on the same drive. Different popular distributions of Linux, like Ubuntu Linux and OpenSuse Linux, as well as Microsoft Windows operating systems, can coexist happily together. This gives the user ultimate flexibility at boot time.

Two of the more popular bootloaders on Linux operating systems are LILO and GRUB.

Linux Loader

Linux Loader, or LILO, is the most common bootloader for Linux. It has been around many years, enjoys rich support from the Linux community and continues to evolve with new features added over time. There are many features to help troubleshoot a system having problems booting-up successfully. It also permits dual boot of a Linux distribution with any other operating system.

lilo bootloader

LILO is file system agnostic that allow to boot the OS from a floppy disc, CD-Rom, DVD, USB pen drive or hard drive. LILO is also flexible enough to be loaded from master boot record or boot sector of harddisk partiton. If you want to load LILO from boot sector then you must set up something in the master boot record in order to call the LILO that place on the harddisk partition.

GRUB

grub bootloader

GNU GRUB, or GRUB, is fast becoming the boot loader of choice for many Linux users. The growing popularity of the Ubuntu Linux distribution that uses GRUB as standard is one reason for this, with approximately one third of Linux users using Ubuntu.

GRUB can also install on a range of media – floppy disc, CD-Rom, DVD, USB pen drive and hard drive – but it beats out LILO because the number of boot selections are unlimited. Given enough media options, this allows an enthusiast or Linux technician to load the latest stable release for one distribution of Linux, as well as a number of beta versions and special configurations for testing purposes, without the concern of running out of boot selections.

GRUB is also network ready and comes with an attractive graphical user interface.

Thank you,
Jitkasem Pintaya

Embedded board

This article is about my recommend embedded board
1. idea6410 board
This embedded board use Samsung S3C6410 ARM11 as the main processor.It come with
various type of peripheral interfaces as much as necessary. It suitable for automotive , industrial control applications or medical system.This board can run many OS such as Windows Embedded CE 6.0,
Embedded Linux 2.6, Android and Ubuntu.View more information about this board here.

idea6410 development board

Continue reading

Embedded scientific calculator.

Casio fx-9860gsd is one of scientific calculator that can use for
calculate scientific formular otherwise it also can be used in controlling
as the embedded calculator.

Casio fx-9860gsd has the graphic LCD display (only two colors , black & white).
It use high performance processor , has the serial port and also has the SD card slot.
This calculator can be programmed without using the external program-burning equipment
(user can write program and download compiled-program to the calculator).
The software development kit for develop the software is free for download (include the compiler,
library and IDE). This SDK can make Casio fx-9860gsd to become good embedded controller board.
The drawback is it doesn’t have input/output port sufficiently to use ,however we can solve this drawback
by use the external equipment to expand I/O port.

Important technical specification of Casio fx-9860gsd are as follow…
- Use CPU from Renesas (SuperH-3 32-bit RISC processor) run at 100/133 MHz (depent on the working
mode)
- RAM 512 kB
- 4 MB Flash memory (can actually use about 1.5 MB)
- Download program to the calculator via mini USB by using FA-124 software.
- One channel serial port.
- Addition application can be appended to the calculator by ourselve.
- Develop program using C language and the SDK is free for download.
- Have SD card slot (SD card used for install new application or store the data).
- Noise tolerant and high stability.
- Can exchange the program between two calculators using the special signal-wire.

Casio fx-9860g sd

Casio fx-9860g sd

Essential software you need to download before start develop the program for Casio fx-9860gsd

First download SDK for fx-9860g (this SDK contain IDE and C
compiler). The registration is required and you must own the real Casio fx-9860gsd
(because it request for the identification number that stick at the back of this scientific calculator).
If you don’t have real Casio fx-9860g series then you can’t download this SDK.
Visit https://edu.casio.com/download_service/register/regist_form.php for register and download SDK.

Second download library Revolutionfx from http://revolution-fx.sourceforge.net.
This library help in reading and writing via serial port of the calculator (You cannot
access the serial port by using only the SDK from casio).
It also has the routine for draw a line or graph and include special function that is
valuable for working with this calculator.

Last software that need to download is Casio FA-124. This software use for download or
burn the program into calculator. You can download Casio FA-124 at http://world.casio.com/edu/resources/fa124/index.html.

When you have all three software above , you must install the fx-9860g SDK first
after that install the Revolutionfx library and Casio FA-124 respectively.

This article doesn’t talk about how to set up the environment for develop the program
and how to write the C code instruction for this calculator because I intend to write the
review for Casio fx-9860gsd only.

Reference :
1. Prototype Electronics Magazine (issue 11 , June 2010)
2. http://www.tpemagazine.com

Thank you,
Admin

Interest embedded development board

Preview on Feedage: software-design-and-embedded-system-toolsSoftwareTop BlogsBlog DirectoryBlogadr.com - Listed (add your blog to Blogadr.com)Blog Directory

Fez Domino

This development board was developed by GHI Electronics. It use 32 bit ARM7 (LPC2388FBD144 run at 72 Mhz) as the main microcontroller. It also the same as other general embedded development board except
that it use Visual C# 2008 Express Edition as compiler (so you must able to write the C# language) and use Microsoft .Net Micro Framework as the template for development the program on this microcontroller.
This IDE provide the full function of debugging capability. It also provide
an emulator mode , so you can run your developed program
without burning it into the real development board.

The extra capability of FEZ Domino is that its IOs port are correspond with
the hardware standard of Arduino (Pin compatible with Arduino) ,
so it can be used together with Arduino shield board.
For more information about Fez Domino , please visit TinyCLR.com

Picture of Fez Domino board

Picture of Fez Domino board

Below are videos introduce about how to develop program on Fez domino


Thanks,

If you have some questions or want to suggest something to me , please send an email to admin@embedsoftdev.com

Admin
jitkasem pintaya

Scrum and Extreme Programming

Agile Process (Scrum and Extreme Programming)
The Agile Process or software development refers to a set of software development methods which are based on iterative development. In this process, the solutions and requirements both evolve mutual collaboration between cross functional teams. These teams are self-organizing in nature.
The Agile software development approach usually promotes a regimented kind of project management process which encourages:
* Frequent adaptation and inspection
* Self-organization and accountability
* A leadership philosophy which promotes teamwork
* A business approach which bring into line the development with customer needs and company goals
* And a group of best engineering practices having an intention to allow for rapid delivery of good-quality software.
Extreme Programming (EP)
It is a software development methodology with an intention to enhance software responsiveness and quality to the volatile requirements of customers. Being a type of Agile process, it promotes frequent releases in small development cycles. This introduces checkpoints and improves the productivity in a way that the new requirements from customers can be adopted.
The advantages of Extreme Programming are:
* Unit testing of all code
* Avoiding programming of features until needed
* Programming in pairs or carrying out extensive code review
* Clarity and simplicity in code
* Volatile customer requirements better understood
* A flag management structure
* Frequent communication between the programmers and even with the customer
It has been noted however that there are certain drawbacks with Extreme programming. They are:
* No documented compromises of user conflicts
* Unstable requirements
* Lack of overall design document or specification
* Incorporates inadequate software design
* Necessitates meetings at recurrent intervals at huge expense to customers
* Can enlarge the risk of scope creep due to the lack of thorough requirements documentation
* Requires excess of cultural change to adopt

Scrum
Scrum is an incremental, iterative framework for agile software development and project management. The word “Scrum” is not really an acronym. However, many companies using this methodology spell it with capital letters. Initially Scrum methodology was focused for management of software development projects, but in recent times it can be used to run general program/project management approach or software maintenance teams.
Scrum, which contains sets of predefined roles and practices, is a process skeleton. Main roles in this method are:
1. Product Owner – Represents Stakeholders
2. Scrum Master – The one responsible for maintaining the processes
3. Team – A cross functional group of about 6-8 people who do actual design, testing, implementation, etc.
Each of the iteration is called a “sprint”, typical time frame for which is normally about two to four weeks. The length of each sprint is decided by the team. The product “backlog” pushes the set of features into a spring. These features are prioritized set of higher level requirements for the task to be carried out. Based on this product “backlog”, the team determines how many of the items can be completed in the next sprint. Once the sprint begins, nobody is allowed to alter the sprint backlog, which means that the set of requirements are frozen. On successful completion of a sprint, the team demonstrates the usage of that particular software.
This methodology should be encouraged in organizations since the major advantage of using the Scrum is that it enables the creation of teams which are highly self-organizing in nature. This is achieved by encouraging verbal communication amongst the team members, co-location of all the team members and disciplines which are involved for the project.

Differences between Scrum and Extreme Programming(EP) :
1. The time span for iterative sprints is different in both approaches.
2. Changes are not allowed by the Scrum teams during their sprints. Whereas Extreme Programming teams have to be much more agreeable to changes.
3. Work is done by EP teams in strict priority order. Whereas in case of Scrum, the product owner prioritizes the set of activities.
4. EP does prescribe some engineering practices; Scrum does not.

Thank you

Performance Testing and Regression Testing

Performance Testing and Regression Testing

Software testing or Testing is an examination conducted to present the stakeholders with data regarding the quality of the service or product under test. This type of software testing as well provides in insight on the independent views and objectives of the software to permit the business to understand all the risks involved during the implementation of the software.
Based on the testing method employed, Software testing can be put into practice at any point of time in the development process. Although, most of the efforts for testing occur after the requirements are defined and the process for coding has been completed.

This article describes two types of testing methodologies.

1. Performance Testing
Performance testing is performed to determine how quick a system or sub-system executes under a particular amount of workload. It can also provide to verify and validate other quality traits of the system, such as reliability, scalability and resource usage.

In the field of Software Engineering, performance testing comes under the testing category which is carried out to how fast a particular aspect of the system under observation performs, given a fixed amount of workload. This sort of testing is a subset of Performance Engineering (up-and-coming computer science practices build to get performance into the architecture and design of a system, prior to the actual effort of coding). There are various purposes which performance testing can serve:
It can compare given two systems and finds out which one is performing better
It can demonstrate whether or not the system meets the required performance criteria.
It can calculate which parts of the system under observation cause the system to perform badly.

2. Regression Testing
This type of testing is any software testing which seeks to find out software errors by partly re-testing a modified program. The intention of this type of testing is to provide a kind of assurance that no additional errors were added during the process of fixing the existing problems. Regression testing is generally used to proficiently examine the system by systematically choosing the appropriate suite of tests which are required to sufficiently cove all of the affected changes.
Widespread methods of regression testing comprise of rerunning earlier run tests and scrutinizing whether previously fixed faults have re-emerged. One of the chief reasons for performing regression testing is that it’s often tremendously difficult for a programmer to outline out how a change in one part of the software will reverberate in other parts of the software.

Ad hoc testing
This term is commonly used to represent software testing without any documentation or planning. The tests are made to run only once, unless a defect is discovered. This type of testing is more of a part of exploratory testing. Here, the tester seeks to find errors by any means that seems appropriate to him/her.

Unit Testing
This type of testing is a software verification and validation method where a programmer tests if individual units of system are fit for utilization. A unit is the least testable part of an application. In procedural programming, a unit might be an individual procedure or function.

Advantages

The advantage of performing Performance and Regression testing are:
Reusable: Can reuse tests on diverse versions of an application, even if the user interface alters
Repeatable: Can check how the software responds under repeated execution of the identical operations.
Programmable: Can program complicated tests that bring out concealed information from the application.
Cost Reduction: Cost is reduced since the amounts of resources for regression test are reduced.
Reliable: Tests carry out precisely the equivalent operations each time they are run, thereby eradicating human error.
Comprehensive: Can build a suite of tests that wraps every feature in the application.
Better Quality Software: Can run additional tests in fewer time with less resources
Fast: Automated Tools run tests considerably faster as compared to the human users.

GIT vs Perforce vs Clearcase vs CVS

GIT

This distributed revision control system has an emphasis on speed. It was originally designed and developed by Linus Torvalds for the development of Linux kernel. Every working directory of Git is a full-fledged repository with full revision tracking capabilities and complete history, not dependent on a central server or network access. GIT is a free software which is distributed under the terms of version 2 of the GNU General Public License.

Perforce

This is a proprietary and commercial revision control system developed by Perforce Software Inc. Perforce follows a client/server system. Here the server has the responsibility of managing a central database and a main repository of file versions. Developers can work on files in their local client workspace. After altering the changes, they can submit the changes to the main server. Client and server communicate via TCP/IP.

Clearcase

Rational ClearCase is a tool for configuration management of source code and other software assets. This tool is developed by IBM (Rational Software Division). ClearCase is the basis of version control for many mid size businesses, and has the potential to handle projects with thousands of developers.

CVS

This is a free revision control system. This system was developed by Dick Grune as a series of shell scripts during July 1986. CVS turned out to be popular in the open source software space and is released under General Public License of GNU. CVS also uses Client/Server architecture. Here, the clients connect to the server and can “check out” a version of file onto their local disk. Later after modifying the contents, they can “check in” the changes.

Types of Revision Control Software

Revision Control Software
Revision Control software are used implement Revision Control on single or multiple sites by organizations. Revision Control, also known as Software Configuration Management (SCM) or Source Control or Version Control, is the management or control of changes to programs, documents and other sorts of information data. This type of setup or mechanism is more often used in software development where a set of people may alter the contents of the same file. The changes made are generally identified by a letter code or number which is called as a revision number or simply revision. For instance, an initial revision for a file is “revision 1”. If this file is altered by any developer, its revision becomes “revision 2”, and so on. A developer can perform many operations on these revisions. These revisions of files or directories can be merged, restored or compared. Software tools for revision management are crucial for the organization where development is simultaneously in progress on multi-developer sites.

Types of Revision Control Software
The various possible approaches for revision control software are:
Local Only: In this approach, it is necessary for all the developers to use the same computer system. Examples:
a. Revision Control System (RCS)
b. Source Code Control System (SCCS)

Distributed Model: In this approach, each of the developer has his/her own setup or local repository. And at some predefined time, all of the changes from various developers are shared or synced between repositories as a different step. Examples:
c. Open Source:
i. Aegis
ii. Codeville
iii. DCVS
iv. GIT
d. Proprietary:
i. Sun WorkShop Team Ware
ii. BitKeeper

Client-Server Model: In this approach, all the developers have to share a single repository. Examples:
e. Open Source:
i. Concurrent Versions System (CVS)
ii. CVSNT
iii. OpenCVS
f. Proprietary:
i. Perforce
ii. Clearcase
iii. Visual SourceSafe

Beginning guide to RS-485 bus.

RS-485 is name of standard for data transmission that use only 2 wires.
One wire for sending the data (TxD) and another wire for receiving data (RxD).
RS-485 can be configured to work in Half-duplex or Full-duplex mode.
The example of equipments that use Half-duplex communication are
Fax, Printer, Intercom , walkie-talkie , etc.
Full-duplex equipments such as Telephone or Mobile phone.
RS-485 standard was specified by EIA (Electronics Industries Association)
since 1983.

The advantage of RS-485.
Nowadays, the data transmission used in industrial sector are almost RS-485 bus.
The reasons that people use RS-485 bus in industry instead of RS232 bus are as
follow…
1. Price of equipment to create RS-485 bus system is cheap and it require
only +5V (VDD) power supply.
2. The ability of inter-connection, RS-485 can connect with a large number of
internal equipments and it also support the work like networking system.
It can support up to 32 drivers (transmitter) and 32 receivers while RS-232 can
connect to only 1 transmitter and 1 receiver.
3. The distance that RS-485 bus can connect to the equipment is as far as 4,000 feet
or 1.2 kilometre while RS-232 is limit to only 50 to 100 feet.
4. Baud rate of RS-485 is up to 10 Mbps (in theory only) compare to the baud rate
of RS-232 that is only 20 Kbps. At the longest signal-carrier line, the data will be
transmitted at the slowest baud rate.

Characteristic of RS-485 bus.

- The longest range of signal line is 4,000 feet with baud rate of 90 Kbps and
and with the length of 50 feet , the baud rate can be up to10 Mbps.

RS-485 wire
The signal carrier wire that can be used on RS-485 bus system are
twisted pair and triaxial.Twisted pair line is work fine on RS-485 bus and it also cheap. It comprise
of 2 signal wires that covered by an insulator.Below is picture of twisted pair cable.

Twisted pair cable

Twisted pair cable

Twisted pair can decrease low-frequency noise that arise from magnetic induction
of the carrier wire because twisting two wires cause the confutation of magnatic field
produced from each wire.Otherwise twisted pair also help to decrease the effect that come from external noise too.

Another wire that admired to use on RS-485 bus is Triaxial.
It can protect the noise from the external system but its price is more expensive
than Twisted pair.Triaxial cable is similar to coaxial cable except that it consist of two shield-layers
(inner shield and outer shield) while coaxial is consist of one shield layer.
(shield layer is used for prevent the external noise that may disturb signal transmission)
Both triaxial and coaxial have the “center conductor” that is a wire used for transmit
the signal. Below are the pictures of Triaxial cable and Coaxial cable.

Inner structure of coaxial cable

Inner structure of coaxial cable

Inner structure of Triaxial cable

Inner structure of Triaxial cable

Pictures of this article are come from

1.http://www.gore.com/en_xx/products/cables/copper/networking/shieldedtwisted/index.html
2.http://www.camplex.com/PX1CableFAQrB.shtml

FPGA and CPLD

What are FPGA and CPLD?

              A FPGA or Field Programmable Gate Array is an integrated circuit designed to be configured after manufacturing, hence it is called field programmable. FPGAs contain programmable logic components termed as “logic blocks”, and a hierarchy of reconfigurable interconnects that allow the blocks to be “wired together”. This logic blocks can be configured to perform complex combinational functions or merely simple logic gates. In most FPGAs, the logic blocks also include memory elements. The FPGA has this definite advantage that it can be programmed or updated by the user at site for which the recurring cost remains insignificant in reference to an ASIC design. The ASIC designs also have a unit price tag in the higher side. Therefore FPGAs offer various advantages to numerous applications.
              The full form of CPLD is Complex Programmable Logic Device. It is a programmable logic device. It has the architectural features of both PAL and FPGA but less complex than FPGA. Macro cell is the building block of CPLD, which contains logic implementing disjunctive normal form expressions and more specialized logic operations.

The difference between FPGA and CPLD
              The primary differences between CPLD and FPGA are architectural. A CPLD has a restrictive structure which results in less flexibility. The FPGA architecture is dominated by interconnect which makes them not only far more flexible but also far more complex to design.
Most FPGAs have higher-level functions like adders, multipliers and embedded memories, also logic blocks, which implement decoders or mathematical functions. This is not the case with CPLDs.
              The major difference between the architecture of FPGA and CPLD device is that FPGAs are internally based on Look-up tables (LUTs) while CPLDs form the logic functions with sea-of-gates.

The difference between FPGA and Microcontroller.
              A microcontroller is computing system. Microcontroller has lots of hierarchical rules and commands over its input and output. It has its own processing unit. Microprocessor can perform loops, timings, conditioned branching, and calculations like a small PC under program control. Microprocessors are used where the operation is relatively complex but processing speed relatively less than FPGA. FPGA is only an array of gate that can be connected as the user wishes. FPGA is no computing system. FPGA are used for relatively simpler operations but higher processing speed in comparison to microcontrollers.

The applications of FPGA in Embedded System.
              The part played by FPGA in context of embedded system is getting more crucial every day. This is due to the reason that capability of FPGA is on the rise and now it has powerful FPGA design software as well. The digital video application domain is the main consumer for FPGA systems and is instrumental in increasing its market share as well as forcing development in FPGA for bigger spectrum of applications. In current years FPGA is finding its application for fast signal processing. FPGA is an embedded platform with soft processors. This makes it possible to design FPGA based system on design applications. The decreasing price and increasing size and capability combined with an easier designing software tools is positioning FPGA in the embedded system context to take up a crucial role.

In-circuit Emulator

In-Circuit Emulator
             For debugging an embedded system’s software, a certain kind of hardware tool is used, which is termed as in-circuit emulator (ICE). It is first among the embedded system debugging tools and is still one of the most popular one.

Example of In-Circuit Emulator
             The peculiar problem with embedded systems is it doesn’t have a terminal or in most of the cases, a display unit, therefore, making it difficult to probe the system to find what is wrong and debug. ICEs provide a solution to this typical problem of debugging embedded systems. The Emulator can track all the operations going inside a CPU under observation and brings it to the direct observation of the user through its interactive terminal. The ICEs not only provide the information about the targeted embedded systems working procedure, but it also provides a huge debugging resource. The ICEs are still one of the most popular tools as it is still unrivalled for its power and capability.
             The house of Microchip offers In-Circuit Emulators in three variants. MPLAB ICE 2000, MPLAB ICE 4000 and REAL ICE. All three of them are full circuit emulators and can be used with MPLAB IDE.
             The MPLAB ICE 2000 has a parallel interface along with USB converter, and it requires an emulator module. The drawback with MPLAB ICE 2000 is that the hardware to be tested must have a socket for production device or emulator module.
             I will not discuss about MPLAB ICE 4000, as Microchip is phasing it out. It is no longer advertised by Microchip and Microchip also does not recommended it for new designs.The REAL ICE is the most recently launched product in the market. It works on almost all flash based processors like PIC24, dsPIC, PIC etc.

The advantages of ICE
             All embedded systems have two parts, software and hardware. Though both of them are separate they are interlinked. The ICE makes it possible to run and check the software on the hardware it was meant to run. While doing so, the ICE also helps the user to identify the faulty codes.
             Nowadays, the debugging circuit integrated into the CPU can be accessed by the JTAG or BDM provided on the CPU. This new option helps the programmer to conveniently debug an embedded system with ease.The Integrated Circuit Emulator gets its name as it does emulate the CPU. Though it has a real processor fitted, the programmer still finds the system under test to be in his full control, and he can identify faulty codes, debug as well as load directly. This real time trouble shooting on a live system gives ICE an edge in the sphere of accuracy and comfort in use.The CPU used for development is not necessarily related to the host systems.The ICEs gives the option of debugging by single stepping. The phrase single stepping means that the programmer can run and observe the lines of a program step by step to find and modify error.The ICEs also gives the option of source level debugging where the programmer can see the program as it was drafted and identify the errors.

How about JTAG (How JTAG work)

JTAG stands for Joint Test Action Group and it is a standard to test integrated circuit (IC) connections. Suppose on a board, you have used integrated circuit and similar devices where each IC has hundreds of pins, it becomes very essential to examine connections and confirm the operation. For this purpose, you need a small tool called JTAG. Therefore, JTAG can be defined as a process to test connections on PCBs that are applied at the level of integrated circuit. JTAG is very useful for testing such connections and there are quite a few reasons for that. Using the customary in-circuit testers, it is quite tough to test the intricate circuits. These testers are unable to access BGA devices and small components and the physical space required by these devises also plays a limitation factor. On top of that, board testing has become quite expensive and all these factors ensure that JTAG is the best solution to triumph over the intricacies related with physical in-circuit testers.There is no need to use any physical probes for testing interconnects amid a board’s built-in circuits. This is definitely a great plus for using JTAG, as there is no need for any added personalized testing tool.

How JTAG works
If you have a JTAG enabled device with a boundary-scan cell for every pin, you can test the interconnects between integrated circuits easily. A boundary-scan cell is capable of reading and setting data of all the pins. With the device, you can connect the boundary-scan cells and start to transfer the data serially into the cells. Scan chain or scan path controls this process of serial shifting of data and this is the major functionality of JTAG interface.

JTAG interface
Generally, huge number of test vectors is required to initialize the entire devices. If you are using JTAG, there is no such need. The three major benefits of using JTAG devices are bigger diagnostic competence and higher test coverage, shorter time for testing, and minimum cost of equipments. This is not all, JTAG is also very useful in the electronics industry. JTAG has great usage in the filed of programming and debugging. Several FLASH memories, microcontrollers, FPGAs and comparable devices can be programmed by using the JTAG interface. Same interface can be used for the debugging purpose as well. Therefore, JTAG interface is a boon to the electronics industry. Even though plenty of variations abound with the JTAG header on the board, it is not a complex process. Any JTAG interface is compatible with the standard JTAG signals and boundary-scan software.

JTAG connectors for games
You can also use JTAG connector to play Xbox 360. Playing game is loved by almost everyone as it is one of the best pass-time activities and stress buster. You can choose from a diverse selection of games, but the problem could be high price factor. You can make use of JTAG connector and play full games without playing full money. The JTAG cable can establish connection with USB or any parallel port of your computer for excellent connectivity and access.

Below is the video introduce about JTAG boundary scan



This article is only the introduction of JTAG , if you want to study in deep about jtag , please visit the following urls…

- The Role of JTAG in system debug & test throughout the embedded system development lifecycle
- JTAG FAQ
- JTAG tutorial from Corelis
- JTAG tutorial in PDF format from Amontec

Thank you very much

More on Arduino part II

Pyxis OS for Arduino.

It is open source OS for Arduino. The OS and other applications can be run from sdcard as it store the OS and application in “.bin” file (like the image file on computer or mobile phone).Pyxis also provide the FAT library
called “PFAT” for read or write EEPROM card (turn the EEPROM into a harddrive).

The demo project use two microcontrollers. One for manage the user interface part
(use arduino mega) and another one use mega2560 + dataflash for handle the whole display
(it’s on the touch screen shiled board).Visit Pyxis for more information about this interesting OS.

Below is video from youtube for the demo of Pyxis OS

Thank you,
Jitkasem Pintaya.

Reference site:
1. http://www.skewworks.com/
2. http://www.electoday.com/bbs/viewthread.php?tid=4233&extra=page%3D1

More on Arduino part I.

More on Arduino part one.

- Arduino-tone
It is the library for produce square-ware tones.It can use with ATmega8,ATmega168/328 and ATmega1280
microcontroller series.With this library,you don’t need to use DAC (Digital to Analog onverter) for building the
tones.This library use timer and PWM of microcontroller, so it will affect the usage of other PWM outputs.

- Dataflash
It is the library for make your Arduino be able to interface to the external memory chip.It’s suitable for
use in storing the voice file or use in datalogging application.The original code of this library is come
from Atmel butterfly.

- Arduino contest
Finished contest from Instructables website.This contest has a lot of interesting Arduino projects and
also contain the instruction to describe about how to make each project too ( but I don’t know that it give the
source code relate to each Arduino project or not).

- ArbotiX Robocontroller
It is control board for robots.It use AVR (ATMEGA644p) as main microcontroller and also contain the Xbee module in order to communicate with the robot by wireless radio signal.The designer of ArbotiX board also designed the library that used for interfacing with the motor of Bioloid System (this will help in controlling the motor easier).This board can be used with various Bioloid motor series (Bioloid motor is “digital servo” motor, it can be commanded via RS485 or even can communicate via Xbee too).

- Multi-touch Technology

This technology is very interesting.The person who inspire this technology is Jefferson Y. Han.He is researcher at NYU (New York University).To know more about him, please visit these links.

1. http://en.wikipedia.org/wiki/Jeff_Han
2. http://cs.nyu.edu/~jhan/

This is Multi-touch presentation video.



The theory that used in Multi-touch is Total internal reflection.

Multi-touch Do-It-Yourself projects.
1. http://www.maximumpc.com/article/features/maximum_pc_builds_a_multitouch_surface_computer

2. http://www.instructables.com/id/S1D8LVAF3ER7VNE/

Reference site :
1. Ayarafun
2. Electoday webboard

Bluetooth

Bluetooth

Bluetooth is communication system of electronics device in short-range (about 5-6 metre) and without wire.It support Full duplex.Bluetooth was designed to be high speed communication. It can be used for sending the data between computer and mobile phone , mobile phone and smalltalk , etc…
Bluetooth use 2.4 Ghz radio frequency signal and the rate for sending the data is about 1 Mbps (one Mega-bit per second).This communication rate (1Mbps) make it suitable for sending digital sound signal with a little delay. Compare with wireless lan (WLAN), WLAN can send the signal within wider range than Bluetooth can but the advantage of Bluetooth over WLAN are “it is smaller,easy to install to the device and it consume less energy (about 0.1 watt)”.However Bluetooth is suitable for sending the streaming data signal more than other types of signal (such as sending the voice data signal from mobile phone to bluetooth headset).

Look at the video below for the pros and cons of Bluetooth.




Look at the video below for how does Bluetooth work.


Xbee

Xbee is one of popular wireless module in the world. It support two-ways communication (one Xbee
module can send or receive the data to/from other modules).The different between Zigbee
and Xbee is Zigbee is name of industry standard while Xbee is name of Zigbee standard
module produced by Digi
.Xbee can communicate via UART (TX,RX signal) and sending the signal (data) within the short range is very accurate.Xbee module have an internal IC that help
in encoding the data.The main advantage of this module is it consume low watt (low
electric power),small size and cheap
.Although it is restricted to send data within short
distance, it can send data from one node to another node and this feature make it
appropriate for making wireless sensor network.

The below image is the picture of xbee module


Picture of Xbee module

Picture of Xbee module


Below is useful links for doing Xbee on Arduino

Programming Arduino Wirelessly

Arduino Xbee Interface Circuit (AXIC)

XBee radios

Arduino+XBee+LCD Info Device

Thank you.

User Acceptance Testing.

UAT (User Acceptance Testing)

UAT is a sort of testing that usually done at the last step of software development process (before release the software to the market).UAT is done by user (the person who will use this software or person who possess requirement of software).It is the way to increase reliance and ensure that the software was designed correctly based on requirements.

Before doing UAT your software need to pass Unit Testing,Integration Testing,System testing and must solved the defects found in each of these testing phases (in practical, the defects relate to technical or logic of software should be fixed before sending to UAT).The defects concern with appearance or color of software are acceptable during doing UAT.

Test Case is also need in UAT because it help doing UAT more effective. Otherwise the test case should be designed on the perspective of Bunsiness Flow and Business Logic that based on requirement. The tester will emphasize on testing the software like they are real user.

Procedure for doing UAT.
One important factor you must focus on while you doing UAT is Test Environment.The test environment should be similar to Production Enviroment as much as possible.

Basic step of doing UAT are as follow…

-Make the testing plan for UAT.
-Design the test cases for UAT.
-Set up testing team for operate UAT in accordance with test cases.
-Operate UAT.
-Record Bug or Defect found during operate UAT and hold a meeting in order to summarize anything we have to modify.
-Fix bug or defect found in previous step and then do Regression Testing.
-Finish UAT, sign off.



UAT is classified as Black box testing.The test cases for UAT normally designed according
to requirements of user (after finish requirements definition phase). Business Analysis
team or System Analysis team are also provide the inputs used for creating the test cases
and it should be described using simple language which easy to understand because the
tester may be the person other than programmer or tester and they don’t know the
technical phrase.

Visit these site for more information about UAT (User Acceptance Testing)
-Wikipedia
-eHow
-Exforsys INC

Reference for this article:
-http://www.welovebug.com/user-acceptance-testing/what-is-uat/#more-1503

Thank you,
Jitkasem Pintaya.

mas_ta