Task Description: Functionally test the payload control board to confirm that it can control and take images with both payload cameras.
Completed: 18 June 2021
Conducted by: Ryan, Ali
Resources Required: EM board with cameras installed, EM camera lenses, software development computer, digital logic reader, oscilloscope, timer, variable power supply, JTAG debugger.
Verification Activities: V-PLD-0070, V-PLD-0080, V-PLD-0090, V-PLD-0150, V-PLD-0530, V-PLD-0540, V-PLD-0550, V-PLD-1700, V-PLD-1760
Pass Criteria: EM board can control and take images with both cameras, including the following:
The EM board can turn both cameras on and off;
The EM board can reset both cameras;
An imaging command takes an image with only one camera;
The EM board can select which camera is used to take an image;
The EM board can take and store an image with either camera.
Test Results: 1. The EM Control Board was connected to the camera board. Software was written such that the Control board could turn either camera on or off. The test was verified by viewing the blue LED on the device and watching it turn off. The following code in "application.c" performs the desired function.
2. The EM Control board was connected in the same orientation as the in Test Results 1. however all attempts to reset failed. The design schematic was found to have been design as the mirror reflection in one axis. This means attempts to change GPIO pin voltages where not going to the correct pin on the camera. This was resolved by seating the camera on the other side of the EM control board. This resolved the problem and software was written to allow for a proper reset. Two important points found in this test are that the schematic will have to be adjusted for the flight model and that the syntax for pins is difference in this section vs Test Results 1. The following code in "application.c" performs the desired function.
3. The EM Board is connected to the camera board in the same orientation as Test Results 2. I2C communication protocol was used to issue commands to the board and an adapted version of referenced code was used to initialize the camera. The same code was also adapted to take individual images instead of video. Issues with the pin layout designed on the 3 MUXs on the Control Board caused issues. The MUX referred to as U2 in the phase C schematics had to be physically altered and laid more track for final images to be taken. Additional code was written to adjust for the MUX pin layouts, in which bits were swapped in software to resolve. These pin layouts will have to be fixed before flight model is created. The JPEG mode, JPEG mode's subsequent settings, file transfer chunk sizes and PLL timers were adjusted in order to provide complete images. The chunk sizes needed to be reduced, seemingly increasing the transfer time and number of chunks but allowing for proper images. The PLL setting was acquired using the Aptina imaging software called "Registry Wizard". The JPEG mode was changed to "Spoof Mode" and subsequent "spoof height and width" settings were also adjusted. All of the code utilized in "mt9d111.c and mt9d111.h" but also the "takeImage" section of "application.(c/h)" were used to perform this task. Images from 640x480 to 1280x960 have been taken. The application.c and mt9d111.c code and resulting image are feature below.
4) and 5) Since only one operation camera was available the camera was physically removed from the CAM1 position and placed in the CAM2 position. Software was created to adjust which camera is being used. This is currently not accessible through terminal software but can be hard coded to work with either camera 1 or 2. CamNum is the variable used and is called in the takeImage function in application.c. Functioning images were both saved and downloaded from either camera port.
Task Description: Functionally test the payload control board to confirm that it can take and send health telemetry over CAN
Completed: 22 March. 2021
Conducted by: Joseph, Ali
Resources Required: EM board, software development computer, CDH Breadboard Setup (or Nucleo-F767ZI + CAN Transceiver), variable power supply for the EM board, JTAG debugger.
Verification Activities: V-PLD-1710, V-PLD-1750
Pass Criteria: EM board can execute commands to take, store, and send health telemetry over CAN, including thermistor readings, and the power-good signal.
Test Results: The EM board was connected to the CDH breadboard setup as shown in the diagram below. Software was written to send commands from the CDH model, to the Payload EM board, and the Payload EM board responded by taking a thermistor reading and sending it to the CDH board. The value was confirmed to be the same on both boards, confirming that the Payload EM board can take and send health telemetry, on command. The full command set can be added and tested by modifying the code, but the main functionality is proven by simply testing the thermistor telemetry process.
Test Hardware Setup:
Payload EM board powered by Variable Power Supply (6.4V)
Payload EM board coonnected to a PC using STLink JTAG programmer.
CAN_H,CAN_L and GND connected between Payload EM and CDH breadboard model.
CDH breadboard model connected to a PC using USB, for power and programming/debugging.
The following test code was added to the CDH project.
Code is at https://github.com/IrisSat/IrisSat-Flight-Software/tree/operations. (1fa20cb361fe66589f2f93c934b97bfd09d88aad)
The two tasks as running concurrently. vTestingTask sends out a command to request a payload board thermistor reading (command 0x01). vTestCspServer will read any telemetry received, and if it is coming from payload and is a board thermistor reading, will save the data to a local variable for inspection.
The following test code was added to the Payload project.
Code is at https://github.com/IrisSat/IrisSat-Payload-Software . (6b0ed8371e7f9e962977e14704a4762863dabad7 )
Here the commandHandler task is running. This reads in any commands received over CAN, and will handle the commands as shown in the flowchart.
Payload receives the command and prepares telemetry with a board temp of 52 degrees.
CDH receives telemetry from payload, the board reading 52 matches what is sent by payload.
Task Description: Functionally test the payload to confirm that it can recover from a power reboot within 5 minutes by turning the payload control board EM off at various intervals and confirming that it can successfully reboot.
Completed: 25-June-2021
Team Member: Ryan, Ali
Resources Required: EM board with camera installed, EM camera lens, software development computer, Nucleo-F767ZI, thermometer, variable power supply for the EM board, logic analyzer, JTAG debugger
Verification Activities: V-PLD-1680, V-PLD-1690, V-PLD-1770
Pass Criteria: EM board can take, store, and transmit a camera image and health telemetry while having a peak power consumption under 1.275 W and does not exceed 0.206 A.
Test Results: The EM board was connected to the CDH breadboard model, over the CAN bus. The EM board was loaded with a program, which will respond to a commands from CDH. The CDH board was loaded with a program to accept terminal commands from the software development computer which in turn instructed the EM board to take an image, store the image, and transfer the image with basic telemetry. Results were obtained through observation of the power supply voltage and current displays during operation, 3 trials of each operation, explained, shortly, were taken and the least optimal case was taken as final values. This test was completed with a voltage of 6.40 V. The following are the measurements observed and resulting calculated power usage.
Current Calc. PowerInitialization: 0.112A 0.7168 WImage Capture: 0.137A 0.8768 WImage Storage: 0.112A 0.7168 W. Transfer to CDH: 0.086A 0.5504 WThe worst case current and power consumption 0.8768 W and Current was 0.137A, both of which are within pass criteria requirements.
Task Description: Functionally test the payload control board to confirm that it can take, store, and send image and telemetry data when supplied with the minimum and maximum possible supply voltages (6 and 6.8 V).
Completion Deadline: Partially verified on 05-April-2021.
Team Member: Joseph, Ali
Resources Required: EM board with cameras installed, EM camera lenses, software development computer, Nucleo-F767ZI, thermometer, variable power supply for the EM board, oscilloscope
Verification Activities: V-PLD-1670
Pass Criteria: EM board can take, store, and transmit a camera image and health telemetry correctly when supplied with 6 and 6.8 V.
Test Results: The EM board was connected to the CDH breadboard model over CAN bus, and was programmed to respond to a command to measure and send the board thermistor temperature. The board was tested at 3 voltages, the minimum 6V, the maximum 6.8V, and the nominal voltage of 6.4V. At all three voltages the EM board responded to commands and read the board temperature,which was within 1 degree for all tests. Therefore the EM board is shown to work within the range of the power supply. Further testing should be done to verify that the imaging capability is also functional over the full power supply range.
Task Description: Functionally test the payload control board to confirm that it can take, store, and send image and telemetry data when supplied with the minimum and maximum possible supply voltages (6 and 6.8 V).
Completed: 25-June-2021
Team Member: Ryan, Ali
Resources Required: EM board with cameras installed, EM camera lenses, software development computer, Nucleo-F767ZI, thermometer, variable power supply for the EM board, oscilloscope
Verification Activities: V-PLD-1670
Pass Criteria: EM board can take, store, and transmit a camera image and health telemetry correctly when supplied with 6 and 6.8 V.
Test Results: The EM board was connected to the CDH breadboard model, over the CAN bus. The EM board was loaded with a program, which will respond to a commands from CDH. The CDH board was loaded with a program to accept terminal commands from the software development computer which in turn instructed the EM board to take an image, store the image, and transfer the image with basic telemetry. Results were obtained through taking 3 captures in 1280x960 resolution at minimum and maximum supply voltages; They are shown below (Note, the lens was adjusted during the process to obtain more clear images and effect the quality of the images..6V Images
6.8V Images
Task Description: Functionally test the payload to confirm that it can recover from a power reboot within 5 minutes by turning the payload control board EM off at various intervals and confirming that it can successfully reboot.
Completed: 05-Apil-2021 <Rechecked - June 28th>
Team Member: Joseph, Ryan, Ali
Resources Required: EM board with cameras installed, EM camera lenses, software development computer, Nucleo-F767ZI, thermometer, variable power supply for the EM board, oscilloscope <Recheck Additional Equipment> Logic Analyzer
Verification Activities: V-PLD-1500
Pass Criteria: EM board can recover and continue functioning after a power reboot
Test Results: The EM board was connected to the CDH breadboard model, over the CAN bus. The EM board was loaded with a program, which will respond to a command from CDH. The CDH board was loaded with a program to ping the EM board every 5 seconds. The payload EM board was powered off, and then back on. The time between the EM board reboot and the first received reply from the EM board, was about 6.3 second, which verifies that currently the startup time of the EM board is less than 5 minutes.<Recheck Results> An alternative approach was taken in which the same connections were made but a logic analyzer was used to see responses to the image capturing commands. This was done in place of the ping command and was done several times. The results were about 4.1 seconds from the test and example of how these trials were observed is below. 5 Trials were completed with very similar results.
Task Description: Functionally test the payload to confirm that it can recover stored images after a power interruption.
Completion Deadline: 28-Jun-2021
Team Member: Ryan, Ali
Resources Required: EM board with cameras installed, EM camera lenses, software development computer, Nucleo-F767ZI, thermometer, variable power supply for the EM board, oscilloscope
Verification Activities: V-PLD-1510
Pass Criteria: EM board can recover stored images after a power interruption and that these images are not corrupted.
Test Results: <Currenly Incomplete> There appears to be an error "file not found" after a sudden power interruption.
Task Description: Functionally test the payload to confirm that it can store 84 images concurrently.
Completed: 07-Aoril-2021
Team Member: Joseph, Ali
Resources Required: EM board with cameras installed, EM camera lenses, software development computer, Nucleo-F767ZI, thermometer, variable power supply for the EM board, oscilloscope, JTAG debugger
Verification Activities: V-PLD-0755
Pass Criteria: EM board can store 84 images concurrently.
Test Results: The EM board can store 69 images of size 3.84MB. The EM board was programed to write fake image data to the flash memory, until it ran out of space. For each image, the fake data was written to memory, and read read back in small chunks that fit in RAM. The read data was compared to the written data to make sure there were no errors. For the worst case image size of 3.84MB (1600x1200 pixels with RGB565 format), the memory can fit 69 images. This test verified that the whole memory can be access, so with a different image format or cropping more images could be stored. The test should be repeated if a file system is used, since file overhead will reduce the available storage.
Number of images = 268435456 bytes / imageSize bytes or approximately: 256MB/ imageSize MB.
Results at the end of the test. We can see that 69 images fit, as expected.
pseudo-code for the test program. Code is at https://github.com/IrisSat/IrisSat-Payload-Software/tree/flashMem (b753c5eb2dbdff34996f7742c7fed2eaa78f12a2 )
Task Description: Measure the spectral reflectance of all samples using the University of Winnipeg C-TAPE reflectance measurement procedures.
Completion Deadline: 1-Feb-2022
Team Member: C-TAPE
Resources Required: C-TAPE, flight samples
Verification Activities: V-PLD-0180
Pass Criteria: NA, Characterization Only
Detailed Description:
Measure the spectral reflectance of all samples using the University of Winnipeg C-TAPE reflectance measurement procedures.
Task Description: Measure the shadow cast by the gnomon pin onto the gnomon base at various angles to confirm it can measure shadows to the specified accuracy.
Completion Deadline: July 21, 2022
Team Member: Ali
Resources Required: flight Gnomon, flight sample plate, flight payload structure, bright light source, dark room, turn table, protractor
Verification Activities: V-PLD-0285, V-PLD-0286
Pass Criteria: Confirm that the gnomon can:
1) Measure solar incidence angles of up to 50 degrees from the gnomon pin vector;
2) Measure solar incidence angles to at least a 5 degree resolution;
3) Measure the rotational resolutions to at least a 15 degree resolution.
After setting up the test apparatus, we rotate the apparatus so that the sample plate is parallel to the incoming light. The protractor shows -30 degrees. Then, we slowly rotate the turn table CCW until the gnomon pin's shadow just touches the edge of the gnomon. Now, the protractor shows 15 degrees. Then, we slowly rotate the turn table CCW in 5 degrees increments until the structure shades the gnomon pin. The following table shows where the shadow is on the gnomon at each interval.
After setting up the test apparatus, we rotate the apparatus so that the structure's +X face is normal to the light source. Then, we slowly rotate the turn table CCW in 5 degree increments until the gnomon pin's shadow is just covered by the EM structure's shadow. The following table show where the shadow is on the gnomon at each interval.
Task Description: In the assembled flight model payload, take an image of the payload sample plate assembly and confirm that the field of view is as intended and samples are measured with sufficient pixels in red, green, and blue.
Completion Deadline: May 31, 2022
Team Member: Ali
Resources Required:
Tools: Host computer, CAN Bus Computer Interface, variable power supply
Hardware and Equipment: Full PLD module assembled
PPE: Cleanroom smock, face mask, gloves and goggles.
Verification Activities: V-PLD-0355, V-PLD-0445
Pass Criteria: The sample plate is fully in view, no external objects are imaged, and each sample is measured with a minimum of 59 red, 52 green, and 45 blue pixels.
...