Project Title

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Table of Contents

Beginners Guide

If you are a total beginner to this, start here!

  1. Visit hackmd.io
  2. Click "Sign in"
  3. Choose a way to sign in
  4. Start writing note!

Interchange Instrument

Template Value
$edi Interchange Control Header
Name Functional Group Header
About Transaction Set Header
BGN Beginning Segment
N9 Reference Identification
TRN Trace
AMT Monetary Amount
QTY Quantity
SE Transaction Set Trailer
GE Functional Group Trailer
IEA Interchange Control Trailer

Language
edilet

Creating a definition and expression to be evaluated

A condition that must evaluate to true before the statement in the then clause can execute

edilet is a free format langauge, therefore you must terminate definitions and expressions

Operators.

String Operations are done in two ways. Case sensitive and case insensitive to be more expressive.

There are only 8 different symbols that can be between an operator. We further reduce the possible combinations by enforcing a specific dogma. A dogma is a set of constraints on operators so that a formal domain may be specificed. For EDI, we limit the possible 256 combinations of the symbols to just 24 operators.

For example, we wouldn't want to write =c

For example, we take

i l e s c = > <

== which is an equal sign and Case Sensitive

==i which is an equal sign and Case Insensitive

For a full list of string operations see Apendix B

=s starts with
=si starts with, case insensitive

!s does NOT start with
!si does NOT start with, case insensitive

=e ends with
=ei ends with, case insensitive

!e does not end with
!ei does not end with, case insensitive
=l

Equals

==i Equals
!=
Not Equals
!=i
Not Equals
Greater Than
Less Than
Greater Than Or Equal To
Less Than Or Equal To
=c

Contains
=ci
Contains (Case Insensitive)
!c

Does Not Contain
!ci
Does Not Contain (Case Insensitive)
=s

Starts With
=s

Starts With (Case Insensitive)
!

Does Not Start With
!
si Does Not Start With (Case Insensitive)
Ends With
ei Ends With (Case Insensitive)
!e Does Not End With
è Does Not End With (Case Insensitive)
=1
Length Equals
!!
Length Does Not Equals
<1
Length Less Than

Running the Interpreter

assignChannel, handleMessage, setChannelRange, map(),

int assignChannel ( int noteNumber )

setChannelRange ( bool useRDP,
int lowChannel,
int highChannel
)

map()
float map ( float value,
float sourceMin,
float sourceMax,
float destMin,
float destMax
)
handleMessage
( int param1,
int param2,
int param3
)

Functions

bool isMasterBlock ()
Returns true if this block is directly connected to the host, as opposed to only being connected to a different block via a connection port.

int getBlockTypeForID (int blockID)
Returns the type of the block with a given ID

handleMessage (int param1, int param2, int param3)
Called when a block receives a message.

assignChannel (int wholeNumber)

deassignChannel (int wholeNumber, int channel)
Deassigns a channel

logHex (int data)
Logs a hexadecimal value to the console

map (float value, float sourceMin, float sourceMax, float destMin, float destMax)
Remaps a value from a source range to a target range

clamp (int lowerLimit, int upperLimit, int valueToConstrain)
Constrains an integer value to keep it within a given range.

Note: clamp is available in float and int

getHeapByte (int byteIndex)
Reads and returns the value of a single byte from the heap


User story

Feature: Guess the word # The first example has two steps Scenario: Maker starts a game When the Maker starts a game Then the Maker waits for a Breaker to join # The second example has three steps Scenario: Breaker joins a game Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters

I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it. Bill Gates

Feature: Shopping Cart As a Shopper I want to put items in my shopping cart Because I want to manage items before I check out Scenario: User adds item to cart Given I'm a logged-in User When I go to the Item page And I click "Add item to cart" Then the quantity of items in my cart should go up And my subtotal should increment And the warehouse inventory should decrement

Read more about Gherkin here: https://docs.cucumber.io/gherkin/reference/

User flows

Created with Raphaël 2.2.0AliceAliceBobBobHello Bob, how are you?Bob thinksI am good thanks!Alice respondsWhere have you been?

Read more about sequence-diagrams here: http://bramp.github.io/js-sequence-diagrams/

Project Timeline

2014-01-052014-01-122014-01-192014-01-262014-02-022014-02-092014-02-16A task           Task in sec      anther task      Another task     SectionAnotherA Gantt Diagram

Read more about mermaid here: http://mermaid-js.github.io/mermaid/

Appendix and FAQ

Find this document incomplete? Leave a comment!

tags: Templates Documentation