Functional requirements (FR) indicate what the system must do. Interface requirements (IR) refer to the how the system must be interacted with .
FR_01 - It will measure distances to a target
FR_02 - It will issue an alarm when a given limit is reached (ultrasonic sensor);
FR_03 - It could store the distance, date and time into a flash memory when the alarm is triggered;
FR_04 - The LCD must continuously display the distance and the temperature measured;
IR_01 - System shall be programmed through a 4x4 keypad console and a LCD;
IR_02 - Date setup, time setup, distance limit and temperature limit shall all be possible to program through the keypad;
IR_03 - It must be possible that, upon command given on the keypad, the LCD displays the date and hour for 5 seconds;
Functional specifications (FS) describe how the system should work. Interface specifications (IS) indicate how the system should be interacted with.
FS_01 - All activities occur concurrently. FreeRTOS programming is required for assuring concurrency and the correctness of time accounting (Real Time Clock);
FS_02 - There is an ultrasonic sensor, continuously measuring the distance between itself and a user specified target (define distance);
FS_03 - A Serial Flash (SPI) is used to store information (like data, time, distance and temperature);
FS_04 - There is a sensor monitoring the environment's temperature (I2C);
FS_05 - I2C and SPI are the protocols used to communicate with peripheral devices;
IS_01 - Through the LCD, it is possible to display information;
IS_02 - LCD is capable of writing up to 20 characters;
IS_03 - After every reset, the user can setup the date and time in the format: MM-DD-YYYY hh:mm:ss ;
IS_04 - The user can define the distance in which the ultrasonic sensor is working (within the sensors range);