json
{
"states": {
"__top__": {
"pos": [
-100000000,
-100000000
],
"size": [
200000000,
200000000
],
"title": "__top__",
"text": [],
"connectors": [],
"parent": null,
"children": [
"state_7",
"istate_2"
],
"type": "top"
},
"state_0": {
"pos": [
12,
10
],
"size": [
19,
70
],
"title": "s_idle",
"text": [
"init/ clear_transaction_info()",
"entry/ chsm_recall"
],
"connectors": [
"conn_2",
"conn_5",
"conn_6",
"conn_9",
"conn_14",
"conn_21",
"conn_11",
"conn_13",
"conn_26",
"conn_29",
"conn_39",
"conn_41",
"conn_43",
"conn_45",
"conn_46",
"conn_48",
"conn_51",
"conn_1"
],
"parent": "state_7",
"children": [],
"type": "normal"
},
"state_1": {
"pos": [
91,
7
],
"size": [
32,
67
],
"title": "s_busy",
"text": [
"entry/ store_transaction_info()",
"exit/ i2c_master_stop()",
"SIG_I2C_W_TRANSACTION/ chsm_defer",
"SIG_I2C_R_TRANSACTION/ chsm_defer",
"SIG_I2C_WR_TRANSACTION/ chsm_defer"
],
"connectors": [
"conn_10",
"conn_12",
"conn_38",
"conn_40",
"conn_42"
],
"parent": "state_7",
"children": [
"state_2",
"state_3",
"state_4"
],
"type": "normal"
},
"state_2": {
"pos": [
93,
26
],
"size": [
23,
7
],
"title": "s_write",
"text": [
"entry/ i2c_master_start_tx()"
],
"connectors": [
"conn_3",
"conn_4"
],
"parent": "state_1",
"children": [],
"type": "normal"
},
"state_3": {
"pos": [
93,
35
],
"size": [
23,
7
],
"title": "s_read",
"text": [
"entry/ i2c_master_start_rx()"
],
"connectors": [
"conn_7",
"conn_8"
],
"parent": "state_1",
"children": [],
"type": "normal"
},
"state_4": {
"pos": [
93,
44
],
"size": [
28,
28
],
"title": "s_write_read",
"text": [
""
],
"connectors": [
"conn_15"
],
"parent": "state_1",
"children": [
"state_5",
"state_6",
"istate_1"
],
"type": "normal"
},
"state_5": {
"pos": [
96,
54
],
"size": [
17,
6
],
"title": "s_wr_write",
"text": [
"entry/ i2c_master_start_tx()"
],
"connectors": [
"conn_18",
"conn_17"
],
"parent": "state_4",
"children": [],
"type": "normal"
},
"state_6": {
"pos": [
96,
64
],
"size": [
17,
6
],
"title": "s_wr_read",
"text": [
"entry/ i2c_master_start_rx()"
],
"connectors": [
"conn_19",
"conn_20"
],
"parent": "state_4",
"children": [],
"type": "normal"
},
"istate_1": {
"pos": [
104,
51
],
"size": [
2,
2
],
"title": "istate_1",
"text": [
"entry/",
"exit/"
],
"connectors": [
"conn_16"
],
"parent": "state_4",
"children": [],
"type": "initial"
},
"state_7": {
"pos": [
9,
-12
],
"size": [
116,
134
],
"title": "s_i2c_master",
"text": [
"init/ i2c_master_init()",
"SIG_SYS_TICK_1ms/ i2c_1ms_callback()"
],
"connectors": [
"conn_23"
],
"parent": "__top__",
"children": [
"state_0",
"state_1",
"state_8",
"istate_0",
"state_12",
"state_13"
],
"type": "normal"
},
"istate_2": {
"pos": [
42,
-15
],
"size": [
2,
2
],
"title": "istate_2",
"text": [
"entry/",
"exit/"
],
"connectors": [
"conn_22"
],
"parent": "__top__",
"children": [],
"type": "initial"
},
"state_8": {
"pos": [
15,
91
],
"size": [
88,
29
],
"title": "s_bus_scan",
"text": [
"entry/ scan_init()"
],
"connectors": [
"conn_27"
],
"parent": "state_7",
"children": [
"istate_3",
"state_9",
"state_10"
],
"type": "normal"
},
"istate_3": {
"pos": [
23,
97
],
"size": [
2,
2
],
"title": "istate_3",
"text": [
"entry/",
"exit/"
],
"connectors": [
"conn_30"
],
"parent": "state_8",
"children": [],
"type": "initial"
},
"state_9": {
"pos": [
17,
101
],
"size": [
18,
15
],
"title": "s_scan_idle",
"text": [
"entry/ chsm_recall"
],
"connectors": [
"conn_31",
"conn_24",
"conn_28",
"conn_33",
"conn_35",
"conn_36",
"conn_37"
],
"parent": "state_8",
"children": [],
"type": "normal"
},
"state_11": {
"pos": [
77,
104
],
"size": [
18,
12
],
"title": "s_scan_write",
"text": [
"entry/ i2c_scan_start_step()",
""
],
"connectors": [
"conn_25",
"conn_34"
],
"parent": "state_10",
"children": [],
"type": "normal"
},
"state_10": {
"pos": [
73,
98
],
"size": [
27,
19
],
"title": "s_scan_busy",
"text": [
"entry/ store_transaction_info()"
],
"connectors": [
"conn_32"
],
"parent": "state_8",
"children": [
"state_11"
],
"type": "normal"
},
"istate_0": {
"pos": [
19,
-4
],
"size": [
2,
2
],
"title": "istate_0",
"text": [
"entry/",
"exit/"
],
"connectors": [
"conn_0"
],
"parent": "state_7",
"children": [],
"type": "initial"
},
"state_12": {
"pos": [
12,
-1
],
"size": [
24,
7
],
"title": "s_i2c_master_reset_slave_comm",
"text": [
"entry/ i2c_master_reset_slave_comm()"
],
"connectors": [
"conn_44",
"conn_47"
],
"parent": "state_7",
"children": [],
"type": "normal"
},
"state_13": {
"pos": [
58,
77
],
"size": [
24,
11
],
"title": "s_reset_periph",
"text": [
"entry/ i2c_master_reset_periph()"
],
"connectors": [
"conn_49",
"conn_50"
],
"parent": "state_7",
"children": [],
"type": "normal"
}
},
"connectors": {
"conn_2": {
"parent": "state_0",
"offset": 18,
"side": "right",
"dir": "out",
"transition": "trans_1"
},
"conn_3": {
"parent": "state_2",
"offset": 2,
"side": "left",
"dir": "in",
"transition": "trans_1"
},
"conn_4": {
"parent": "state_2",
"offset": 4,
"side": "left",
"dir": "out",
"transition": "trans_2"
},
"conn_5": {
"parent": "state_0",
"offset": 20,
"side": "right",
"dir": "in",
"transition": "trans_2"
},
"conn_6": {
"parent": "state_0",
"offset": 27,
"side": "right",
"dir": "out",
"transition": "trans_3"
},
"conn_7": {
"parent": "state_3",
"offset": 2,
"side": "left",
"dir": "in",
"transition": "trans_3"
},
"conn_8": {
"parent": "state_3",
"offset": 4,
"side": "left",
"dir": "out",
"transition": "trans_4"
},
"conn_9": {
"parent": "state_0",
"offset": 29,
"side": "right",
"dir": "in",
"transition": "trans_4"
},
"conn_14": {
"parent": "state_0",
"offset": 36,
"side": "right",
"dir": "out",
"transition": "trans_7"
},
"conn_15": {
"parent": "state_4",
"offset": 2,
"side": "left",
"dir": "in",
"transition": "trans_7"
},
"conn_18": {
"parent": "state_5",
"offset": 2,
"side": "bottom",
"dir": "out",
"transition": "trans_9"
},
"conn_19": {
"parent": "state_6",
"offset": 2,
"side": "top",
"dir": "in",
"transition": "trans_9"
},
"conn_20": {
"parent": "state_6",
"offset": 3,
"side": "left",
"dir": "out",
"transition": "trans_10"
},
"conn_21": {
"parent": "state_0",
"offset": 57,
"side": "right",
"dir": "in",
"transition": "trans_10"
},
"conn_10": {
"parent": "state_1",
"offset": 9,
"side": "left",
"dir": "out",
"transition": "trans_5"
},
"conn_11": {
"parent": "state_0",
"offset": 6,
"side": "right",
"dir": "in",
"transition": "trans_5"
},
"conn_12": {
"parent": "state_1",
"offset": 11,
"side": "left",
"dir": "out",
"transition": "trans_6"
},
"conn_13": {
"parent": "state_0",
"offset": 8,
"side": "right",
"dir": "in",
"transition": "trans_6"
},
"conn_16": {
"parent": "istate_1",
"offset": 0,
"side": "all",
"dir": "out",
"transition": "trans_8"
},
"conn_17": {
"parent": "state_5",
"offset": 8,
"side": "top",
"dir": "in",
"transition": "trans_8"
},
"conn_22": {
"parent": "istate_2",
"offset": 0,
"side": "all",
"dir": "out",
"transition": "trans_11"
},
"conn_23": {
"parent": "state_7",
"offset": 33,
"side": "top",
"dir": "in",
"transition": "trans_11"
},
"conn_26": {
"parent": "state_0",
"offset": 4,
"side": "bottom",
"dir": "out",
"transition": "trans_13"
},
"conn_27": {
"parent": "state_8",
"offset": 1,
"side": "top",
"dir": "in",
"transition": "trans_13"
},
"conn_30": {
"parent": "istate_3",
"offset": 0,
"side": "all",
"dir": "out",
"transition": "trans_15"
},
"conn_31": {
"parent": "state_9",
"offset": 6,
"side": "top",
"dir": "in",
"transition": "trans_15"
},
"conn_24": {
"parent": "state_9",
"offset": 9,
"side": "right",
"dir": "out",
"transition": "trans_12"
},
"conn_25": {
"parent": "state_11",
"offset": 6,
"side": "left",
"dir": "in",
"transition": "trans_12"
},
"conn_28": {
"parent": "state_9",
"offset": 12,
"side": "top",
"dir": "out",
"transition": "trans_14"
},
"conn_29": {
"parent": "state_0",
"offset": 17,
"side": "bottom",
"dir": "in",
"transition": "trans_14"
},
"conn_32": {
"parent": "state_10",
"offset": 9,
"side": "left",
"dir": "out",
"transition": "trans_16"
},
"conn_33": {
"parent": "state_9",
"offset": 6,
"side": "right",
"dir": "in",
"transition": "trans_16"
},
"conn_34": {
"parent": "state_11",
"offset": 9,
"side": "left",
"dir": "out",
"transition": "trans_17"
},
"conn_35": {
"parent": "state_9",
"offset": 12,
"side": "right",
"dir": "in",
"transition": "trans_17"
},
"conn_36": {
"parent": "state_9",
"offset": 1,
"side": "right",
"dir": "out",
"transition": "trans_18"
},
"conn_37": {
"parent": "state_9",
"offset": 3,
"side": "right",
"dir": "in",
"transition": "trans_18"
},
"conn_38": {
"parent": "state_1",
"offset": 6,
"side": "left",
"dir": "out",
"transition": "trans_19"
},
"conn_39": {
"parent": "state_0",
"offset": 3,
"side": "right",
"dir": "in",
"transition": "trans_19"
},
"conn_40": {
"parent": "state_1",
"offset": 4,
"side": "left",
"dir": "out",
"transition": "trans_20"
},
"conn_41": {
"parent": "state_0",
"offset": 1,
"side": "right",
"dir": "in",
"transition": "trans_20"
},
"conn_42": {
"parent": "state_1",
"offset": 14,
"side": "left",
"dir": "out",
"transition": "trans_21"
},
"conn_43": {
"parent": "state_0",
"offset": 11,
"side": "right",
"dir": "in",
"transition": "trans_21"
},
"conn_0": {
"parent": "istate_0",
"offset": 0,
"side": "all",
"dir": "out",
"transition": "trans_0"
},
"conn_1": {
"parent": "state_0",
"offset": 3,
"side": "top",
"dir": "in",
"transition": "trans_0"
},
"conn_44": {
"parent": "state_12",
"offset": 7,
"side": "bottom",
"dir": "out",
"transition": "trans_22"
},
"conn_45": {
"parent": "state_0",
"offset": 7,
"side": "top",
"dir": "in",
"transition": "trans_22"
},
"conn_46": {
"parent": "state_0",
"offset": 15,
"side": "top",
"dir": "out",
"transition": "trans_23"
},
"conn_47": {
"parent": "state_12",
"offset": 15,
"side": "bottom",
"dir": "in",
"transition": "trans_23"
},
"conn_48": {
"parent": "state_0",
"offset": 61,
"side": "right",
"dir": "out",
"transition": "trans_24"
},
"conn_49": {
"parent": "state_13",
"offset": 6,
"side": "top",
"dir": "in",
"transition": "trans_24"
},
"conn_50": {
"parent": "state_13",
"offset": 3,
"side": "top",
"dir": "out",
"transition": "trans_25"
},
"conn_51": {
"parent": "state_0",
"offset": 64,
"side": "right",
"dir": "in",
"transition": "trans_25"
}
},
"transitions": {
"trans_1": {
"start": "conn_2",
"end": "conn_3",
"vertices": [
[
31,
28
],
[
42,
28
],
[
42,
28
],
[
93,
28
]
],
"label": "SIG_I2C_W_TRANSACTION",
"label_offset": [
4.5,
-0.3999999999999986
],
"label_anchor": 0,
"label_pos": [
35.5,
27.6
]
},
"trans_2": {
"start": "conn_4",
"end": "conn_5",
"vertices": [
[
93,
30
],
[
42,
30
],
[
42,
30
],
[
31,
30
]
],
"label": "SIG_I2C_WRITE_SUCCESS/ i2c_master_send_success_response()",
"label_offset": [
-1,
-0.3999999999999986
],
"label_anchor": 2,
"label_pos": [
41,
29.6
]
},
"trans_3": {
"start": "conn_6",
"end": "conn_7",
"vertices": [
[
31,
37
],
[
42,
37
],
[
42,
37
],
[
93,
37
]
],
"label": "SIG_I2C_R_TRANSACTION",
"label_offset": [
4.5,
-0.3999999999999986
],
"label_anchor": 0,
"label_pos": [
35.5,
36.6
]
},
"trans_4": {
"start": "conn_8",
"end": "conn_9",
"vertices": [
[
93,
39
],
[
42,
39
],
[
42,
39
],
[
31,
39
]
],
"label": "SIG_I2C_READ_SUCCESS/ i2c_master_send_success_response()",
"label_offset": [
-1,
-0.3999999999999986
],
"label_anchor": 2,
"label_pos": [
41,
38.6
]
},
"trans_7": {
"start": "conn_14",
"end": "conn_15",
"vertices": [
[
31,
46
],
[
42,
46
],
[
42,
46
],
[
93,
46
]
],
"label": "SIG_I2C_WR_TRANSACTION",
"label_offset": [
4.5,
-0.3999999999999986
],
"label_anchor": 0,
"label_pos": [
35.5,
45.6
]
},
"trans_9": {
"start": "conn_18",
"end": "conn_19",
"vertices": [
[
98,
60
],
[
98,
61
],
[
98,
61
],
[
98,
64
]
],
"label": "SIG_I2C_WRITE_SUCCESS",
"label_offset": [
0.5,
1.2000000000000028
],
"label_anchor": 2,
"label_pos": [
98.5,
62.2
]
},
"trans_10": {
"start": "conn_20",
"end": "conn_21",
"vertices": [
[
96,
67
],
[
41,
67
],
[
41,
67
],
[
31,
67
]
],
"label": "SIG_I2C_READ_SUCCESS/ i2c_master_send_success_response()",
"label_offset": [
-54.5,
-0.4000000000000057
],
"label_anchor": 0,
"label_pos": [
41.5,
66.6
]
},
"trans_5": {
"start": "conn_10",
"end": "conn_11",
"vertices": [
[
91,
16
],
[
37,
16
],
[
37,
16
],
[
31,
16
]
],
"label": "SIG_I2C_WRITE_FAIL/ i2c_master_send_fail_response()",
"label_offset": [
-30,
-0.40000000000000036
],
"label_anchor": 0,
"label_pos": [
61,
15.6
]
},
"trans_6": {
"start": "conn_12",
"end": "conn_13",
"vertices": [
[
91,
18
],
[
37,
18
],
[
37,
18
],
[
31,
18
]
],
"label": "SIG_I2C_READ_FAIL/ i2c_master_send_fail_response()",
"label_offset": [
-29,
-0.3999999999999986
],
"label_anchor": 0,
"label_pos": [
62,
17.6
]
},
"trans_8": {
"start": "conn_16",
"end": "conn_17",
"vertices": [
[
104,
51
],
[
104,
51
],
[
104,
54
]
],
"label": "",
"label_offset": [
0.5,
1.1000000000000014
],
"label_anchor": 1,
"label_pos": [
104.5,
52.099999999999994
]
},
"trans_11": {
"start": "conn_22",
"end": "conn_23",
"vertices": [
[
42,
-15
],
[
42,
-15
],
[
42,
-12
]
],
"label": "",
"label_offset": [
0.5,
0.09999999999999964
],
"label_anchor": 1,
"label_pos": [
42.5,
-14.9
]
},
"trans_13": {
"start": "conn_26",
"end": "conn_27",
"vertices": [
[
16,
80
],
[
16,
87
],
[
16,
87
],
[
16,
91
]
],
"label": "SIG_I2C_BUS_SCAN",
"label_offset": [
0.5,
3.1999999999999886
],
"label_anchor": 0,
"label_pos": [
16.5,
83.19999999999999
]
},
"trans_15": {
"start": "conn_30",
"end": "conn_31",
"vertices": [
[
23,
97
],
[
23,
97
],
[
23,
101
]
],
"label": "",
"label_offset": [
0.5,
2.0999999999999943
],
"label_anchor": 1,
"label_pos": [
23.5,
99.1
]
},
"trans_12": {
"start": "conn_24",
"end": "conn_25",
"vertices": [
[
35,
110
],
[
46,
110
],
[
46,
110
],
[
77,
110
]
],
"label": "SIG_I2C_W_TRANSACTION",
"label_offset": [
0.5,
-0.4000000000000057
],
"label_anchor": 0,
"label_pos": [
35.5,
109.6
]
},
"trans_14": {
"start": "conn_28",
"end": "conn_29",
"vertices": [
[
29,
101
],
[
29,
89
],
[
29,
89
],
[
29,
80
]
],
"label": "SIG_I2C_ADDRS_RELEASE",
"label_offset": [
0.5,
-12.400000000000006
],
"label_anchor": 0,
"label_pos": [
29.5,
88.6
]
},
"trans_16": {
"start": "conn_32",
"end": "conn_33",
"vertices": [
[
73,
107
],
[
51,
107
],
[
51,
107
],
[
35,
107
]
],
"label": "SIG_I2C_WRITE_FAIL/ i2c_master_inc_dev_addr()",
"label_offset": [
-4.5,
-0.4000000000000057
],
"label_anchor": 2,
"label_pos": [
46.5,
106.6
]
},
"trans_17": {
"start": "conn_34",
"end": "conn_35",
"vertices": [
[
77,
113
],
[
53,
113
],
[
53,
113
],
[
35,
113
]
],
"label": "SIG_I2C_WRITE_SUCCESS/ i2c_master_inc_success_dev_addr()",
"label_offset": [
-14.5,
-0.4000000000000057
],
"label_anchor": 2,
"label_pos": [
38.5,
112.6
]
},
"trans_18": {
"start": "conn_36",
"end": "conn_37",
"vertices": [
[
35,
102
],
[
41,
102
],
[
41,
104
],
[
35,
104
]
],
"label": "[i2c_master_device_addr_max_cnt()]",
"label_offset": [
0.5,
-0.4000000000000057
],
"label_anchor": 0,
"label_pos": [
35.5,
101.6
]
},
"trans_19": {
"start": "conn_38",
"end": "conn_39",
"vertices": [
[
91,
13
],
[
54,
13
],
[
54,
13
],
[
31,
13
]
],
"label": "SIG_I2C_QUEUE_OVERFLOW/ i2c_master_clear_queue()",
"label_offset": [
-31,
-0.40000000000000036
],
"label_anchor": 0,
"label_pos": [
60,
12.6
]
},
"trans_20": {
"start": "conn_40",
"end": "conn_41",
"vertices": [
[
91,
11
],
[
54,
11
],
[
54,
11
],
[
31,
11
]
],
"label": "SIG_I2C_DEFER_QUEUE_OVERFLOW/ i2c_master_clear_defer_queue()",
"label_offset": [
-1.5,
-0.40000000000000036
],
"label_anchor": 2,
"label_pos": [
52.5,
10.6
]
},
"trans_21": {
"start": "conn_42",
"end": "conn_43",
"vertices": [
[
91,
21
],
[
54,
21
],
[
54,
21
],
[
31,
21
]
],
"label": "[i2c_master_fault_cnt(I2C_MASTER_FAUL_CNT)]",
"label_offset": [
-26,
-0.3999999999999986
],
"label_anchor": 0,
"label_pos": [
65,
20.6
]
},
"trans_0": {
"start": "conn_0",
"end": "conn_1",
"vertices": [
[
19,
-4
],
[
19,
-3
],
[
11,
-3
],
[
11,
8
],
[
15,
8
],
[
15,
10
]
],
"label": "",
"label_offset": [
0.5,
3.6
],
"label_anchor": 2,
"label_pos": [
11.5,
0.6
]
},
"trans_22": {
"start": "conn_44",
"end": "conn_45",
"vertices": [
[
19,
6
],
[
19,
9
],
[
19,
9
],
[
19,
10
]
],
"label": "",
"label_offset": [
0.5,
2.5999999999999996
],
"label_anchor": 0,
"label_pos": [
19.5,
8.6
]
},
"trans_23": {
"start": "conn_46",
"end": "conn_47",
"vertices": [
[
27,
10
],
[
27,
8
],
[
27,
8
],
[
27,
6
]
],
"label": "SIG_I2C_RESET_SLAVE_COMM",
"label_offset": [
0.5,
-2.4000000000000004
],
"label_anchor": 0,
"label_pos": [
27.5,
7.6
]
},
"trans_24": {
"start": "conn_48",
"end": "conn_49",
"vertices": [
[
31,
71
],
[
64,
71
],
[
64,
77
]
],
"label": "SIG_I2C_RESET_PERIPH",
"label_offset": [
1.5,
-0.4000000000000057
],
"label_anchor": 0,
"label_pos": [
32.5,
70.6
]
},
"trans_25": {
"start": "conn_50",
"end": "conn_51",
"vertices": [
[
61,
77
],
[
61,
74
],
[
31,
74
]
],
"label": "",
"label_offset": [
-15,
-0.4000000000000057
],
"label_anchor": 1,
"label_pos": [
46,
73.6
]
}
},
"notes": {
"SIG_I2C_TRANSACTION": "",
"start_tx()": "Use the driver to start a write sequence, or post a WRITE_FINISHED signal to self, if the write count is 0.",
"chsm_defer()": "",
"SIG_I2C_W_TRANSACTION": "",
"trans_2": "",
"SIG_I2C_WRITE_SUCCESS": "",
"SIG_I2C_R_TRANSACTION": "",
"SIG_I2C_READ_SUCCESS": "",
"SIG_I2C_WRITE_FAIL": "",
"SIG_I2C_READ_FAIL": "",
"trans_12": "",
"i2c_inc_dev_id()": "",
"trans_17": "",
"SIG_I2C_ADDRS_RELEASE": "",
"i2c_master_send_fail_response()": "",
"SIG_I2C_WR_TRANSACTION": "",
"scan_init_()": "",
"i2c_master_inc_dev_addr()": "",
"device_addr_max_cnt()": "",
"i2c_master_stop()": "",
"i2c_master_start_tx()": "",
"SIG_SYS_TICK_1ms": "",
"SIG_I2C_QUEUE_OVERFLOW": "",
"SIG_I2C_DEFER_QUEUE_OVERFLOW": "",
"i2c_master_fault_cnt": "",
"i2c_master_clear_defer_queue()": "",
"i2c_master_clear_queue()": "",
"SIG_I2C_BUS_SCAN": "",
"SIG_RESET_PERIPH": "",
"entry": ""
},
"view": {
"translate": [
124,
78
],
"scale": 8
}
}