Skip to content
Merged
10 changes: 10 additions & 0 deletions docs/source/user_guide/FPGA.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ This section will document FPGA input for Rapid Power Estimator.
Clocking
#########

.. image:: figures/FPGA-figures-clocking-input_clock_info.JPG
:width: 300px
:align: center
:height: 350px
:alt: Setup Diagram

.. image:: FPGA/figures/clocking-input_clock_info.JPG
:alt: Setup Diagram
:align: center

FLE - Functional Logic Element
###############################

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
4 changes: 0 additions & 4 deletions docs/source/user_guide/launch.rst

This file was deleted.

Empty file.
Empty file.
Empty file.
9 changes: 6 additions & 3 deletions docs/source/user_guide/setup.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
=======================
Setting up .RPE Project
=======================
==========================
Setting up an RPE Project
==========================

This section will document how to setup a project on Rapid Power Estimator.

Launching RPE
##############

Project Creation
#################

Expand Down
Empty file.
100 changes: 50 additions & 50 deletions tests/e2e/clocking.test.js
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
const { _electron: electron } = require('playwright');
const { test, expect } = require('@playwright/test');

test('Launch Electron app, select device, toggle ACPU power, click Clocking, Add clock source, and submit form', async () => {
const app = await electron.launch({ args: ['main.js'] });
const window = await app.firstWindow();

// Selecting the device (MPW1 Gemini)
const deviceDropdown = await window.waitForSelector('#deviceId');
await deviceDropdown.selectOption('MPW1');
await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds

// Selecting Clocking block
const clockingBlockSelector = '#app > div > div.top-row-container > div.main-table-container.main-border > div.top-l2 > div.top-l2-col2 > div.top-l2-col2-elem > div > div:nth-child(2) > div:nth-child(1) > div';
const clockingBlock = await window.waitForSelector(clockingBlockSelector);
await clockingBlock.click();
await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds

// Clicking on Add button
const addButtonSelector = '#app > div > div.table-container.main-border > div > div.power-and-table-wrapper > div.table-wrapper > button';
const addButton = await window.waitForSelector(addButtonSelector);
await addButton.click();
await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds

// Ensure modal is visible before interacting
const modalSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div';
await window.waitForSelector(modalSelector, { state: 'visible', timeout: 5000 }); // Wait for modal

// Typing description as 'test'
const descriptionSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div > div:nth-child(1) > div > div.ant-modal-body > div > form > div:nth-child(2) > input[type=text]';
const descriptionInput = await window.waitForSelector(descriptionSelector);
await descriptionInput.click();
await descriptionInput.fill('test');
await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for 1 second

// Typing Port/Signal name as 'test'
const portSignalSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div > div:nth-child(1) > div > div.ant-modal-body > div > form > div:nth-child(3) > input[type=text]';
const portSignalInput = await window.waitForSelector(portSignalSelector);
await portSignalInput.click();
await portSignalInput.fill('test');
await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for 1 second

// Clicking OK to submit the form
const okButtonSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div > div:nth-child(1) > div > div.ant-modal-footer > button.ant-btn.css-dev-only-do-not-override-apn68.ant-btn-primary.ant-btn-color-primary.ant-btn-variant-solid';
const okButton = await window.waitForSelector(okButtonSelector);
await okButton.click();

// Closing the test
await app.close();
});
// const { _electron: electron } = require('playwright');
// const { test, expect } = require('@playwright/test');

// test('Launch Electron app, select device, toggle ACPU power, click Clocking, Add clock source, and submit form', async () => {
// const app = await electron.launch({ args: ['main.js'] });
// const window = await app.firstWindow();

// // Selecting the device (MPW1 Gemini)
// const deviceDropdown = await window.waitForSelector('#deviceId');
// await deviceDropdown.selectOption('MPW1');
// await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds

// // Selecting Clocking block
// const clockingBlockSelector = '#app > div > div.top-row-container > div.main-table-container.main-border > div.top-l2 > div.top-l2-col2 > div.top-l2-col2-elem > div > div:nth-child(2) > div:nth-child(1) > div';
// const clockingBlock = await window.waitForSelector(clockingBlockSelector);
// await clockingBlock.click();
// await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds

// // Clicking on Add button
// const addButtonSelector = '#app > div > div.table-container.main-border > div > div.power-and-table-wrapper > div.table-wrapper > button';
// const addButton = await window.waitForSelector(addButtonSelector);
// await addButton.click();
// await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds

// // Ensure modal is visible before interacting
// const modalSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div';
// await window.waitForSelector(modalSelector, { state: 'visible', timeout: 5000 }); // Wait for modal

// // Typing description as 'test'
// const descriptionSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div > div:nth-child(1) > div > div.ant-modal-body > div > form > div:nth-child(2) > input[type=text]';
// const descriptionInput = await window.waitForSelector(descriptionSelector);
// await descriptionInput.click();
// await descriptionInput.fill('test');
// await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for 1 second

// // Typing Port/Signal name as 'test'
// const portSignalSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div > div:nth-child(1) > div > div.ant-modal-body > div > form > div:nth-child(3) > input[type=text]';
// const portSignalInput = await window.waitForSelector(portSignalSelector);
// await portSignalInput.click();
// await portSignalInput.fill('test');
// await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for 1 second

// // Clicking OK to submit the form
// const okButtonSelector = 'body > div:nth-child(3) > div > div.ant-modal-wrap > div > div:nth-child(1) > div > div.ant-modal-footer > button.ant-btn.css-dev-only-do-not-override-apn68.ant-btn-primary.ant-btn-color-primary.ant-btn-variant-solid';
// const okButton = await window.waitForSelector(okButtonSelector);
// await okButton.click();

// // Closing the test
// await app.close();
// });

Loading
Loading