# !/usr/bin/python3
# -*- coding: utf-8 -*-

import logging
from pybpodapi.bpod.hardware.events.base_eventname import BaseEventName

logger = logging.getLogger(__name__)


class EventName(BaseEventName):
    """
    Input event codes
    These values must be set according to Bpod firmware specification.
    """

    ##########################
    # Serial 1
    ##########################

    #: Serial1_1
    Serial1_1 = "Serial1_1"

    #: Serial1_2
    Serial1_2 = "Serial1_2"

    #: Serial1_3
    Serial1_3 = "Serial1_3"

    #: Serial1_4
    Serial1_4 = "Serial1_4"

    #: Serial1_5
    Serial1_5 = "Serial1_5"

    #: Serial1_6
    Serial1_6 = "Serial1_6"

    #: Serial1_7
    Serial1_7 = "Serial1_7"

    #: Serial1_8
    Serial1_8 = "Serial1_8"

    #: Serial1_9
    Serial1_9 = "Serial1_9"

    #: Serial1_10
    Serial1_10 = "Serial1_10"

    #: Serial1_11
    Serial1_11 = "Serial1_11"

    #: Serial1_12
    Serial1_12 = "Serial1_12"

    #: Serial1_13
    Serial1_13 = "Serial1_13"

    #: Serial1_14
    Serial1_14 = "Serial1_14"

    #: Serial1_15
    Serial1_15 = "Serial1_15"

    #: Serial1_16
    Serial1_16 = "Serial1_16"

    #: Serial1_17
    Serial1_17 = "Serial1_17"

    #: Serial1_18
    Serial1_18 = "Serial1_18"

    #: Serial1_19
    Serial1_19 = "Serial1_19"

    #: Serial1_20
    Serial1_20 = "Serial1_20"

    #: Serial1_21
    Serial1_21 = "Serial1_21"

    #: Serial1_22
    Serial1_22 = "Serial1_22"

    #: Serial1_23
    Serial1_23 = "Serial1_23"

    #: Serial1_24
    Serial1_24 = "Serial1_24"

    #: Serial1_25
    Serial1_25 = "Serial1_25"

    #: Serial1_26
    Serial1_26 = "Serial1_26"

    #: Serial1_27
    Serial1_27 = "Serial1_27"

    #: Serial1_28
    Serial1_28 = "Serial1_28"

    #: Serial1_29
    Serial1_29 = "Serial1_29"

    #: Serial1_30
    Serial1_30 = "Serial1_30"

    #: Serial1_31
    Serial1_31 = "Serial1_31"

    #: Serial1_32
    Serial1_32 = "Serial1_32"

    #: Serial1_33
    Serial1_33 = "Serial1_33"

    #: Serial1_34
    Serial1_34 = "Serial1_34"

    #: Serial1_35
    Serial1_35 = "Serial1_35"

    #: Serial1_36
    Serial1_36 = "Serial1_36"

    #: Serial1_37
    Serial1_37 = "Serial1_37"

    #: Serial1_38
    Serial1_38 = "Serial1_38"

    #: Serial1_39
    Serial1_39 = "Serial1_39"

    #: Serial1_40
    Serial1_40 = "Serial1_40"

    #: Serial1_41
    Serial1_41 = "Serial1_41"

    #: Serial1_42
    Serial1_42 = "Serial1_42"

    #: Serial1_43
    Serial1_43 = "Serial1_43"

    #: Serial1_44
    Serial1_44 = "Serial1_44"

    #: Serial1_45
    Serial1_45 = "Serial1_45"

    #: Serial1_46
    Serial1_46 = "Serial1_46"

    #: Serial1_47
    Serial1_47 = "Serial1_47"

    #: Serial1_48
    Serial1_48 = "Serial1_48"

    #: Serial1_49
    Serial1_49 = "Serial1_49"

    #: Serial1_50
    Serial1_50 = "Serial1_50"

    #: Serial1_51
    Serial1_51 = "Serial1_51"

    #: Serial1_52
    Serial1_52 = "Serial1_52"

    #: Serial1_53
    Serial1_53 = "Serial1_53"

    #: Serial1_54
    Serial1_54 = "Serial1_54"

    #: Serial1_55
    Serial1_55 = "Serial1_55"

    #: Serial1_56
    Serial1_56 = "Serial1_56"

    #: Serial1_57
    Serial1_57 = "Serial1_57"

    #: Serial1_58
    Serial1_58 = "Serial1_58"

    #: Serial1_59
    Serial1_59 = "Serial1_59"

    #: Serial1_60
    Serial1_60 = "Serial1_60"

    ##########################
    # Serial 2
    ##########################

    #: Serial2_1
    Serial2_1 = "Serial2_1"

    #: Serial2_2
    Serial2_2 = "Serial2_2"

    #: Serial2_3
    Serial2_3 = "Serial2_3"

    #: Serial2_4
    Serial2_4 = "Serial2_4"

    #: Serial2_5
    Serial2_5 = "Serial2_5"

    #: Serial2_6
    Serial2_6 = "Serial2_6"

    #: Serial2_7
    Serial2_7 = "Serial2_7"

    #: Serial2_8
    Serial2_8 = "Serial2_8"

    #: Serial2_9
    Serial2_9 = "Serial2_9"

    #: Serial2_10
    Serial2_10 = "Serial2_10"

    #: Serial2_11
    Serial2_11 = "Serial2_11"

    #: Serial2_12
    Serial2_12 = "Serial2_12"

    #: Serial2_13
    Serial2_13 = "Serial2_13"

    #: Serial2_14
    Serial2_14 = "Serial2_14"

    #: Serial2_15
    Serial2_15 = "Serial2_15"

    #: Serial2_16
    Serial2_16 = "Serial2_16"

    #: Serial2_17
    Serial2_17 = "Serial2_17"

    #: Serial2_18
    Serial2_18 = "Serial2_18"

    #: Serial2_19
    Serial2_19 = "Serial2_19"

    #: Serial2_20
    Serial2_20 = "Serial2_20"

    #: Serial2_21
    Serial2_21 = "Serial2_21"

    #: Serial2_22
    Serial2_22 = "Serial2_22"

    #: Serial2_23
    Serial2_23 = "Serial2_23"

    #: Serial2_24
    Serial2_24 = "Serial2_24"

    #: Serial2_25
    Serial2_25 = "Serial2_25"

    #: Serial2_26
    Serial2_26 = "Serial2_26"

    #: Serial2_27
    Serial2_27 = "Serial2_27"

    #: Serial2_28
    Serial2_28 = "Serial2_28"

    #: Serial2_29
    Serial2_29 = "Serial2_29"

    #: Serial2_30
    Serial2_30 = "Serial2_30"

    #: Serial2_31
    Serial2_31 = "Serial2_31"

    #: Serial2_32
    Serial2_32 = "Serial2_32"

    #: Serial2_33
    Serial2_33 = "Serial2_33"

    #: Serial2_34
    Serial2_34 = "Serial2_34"

    #: Serial2_35
    Serial2_35 = "Serial2_35"

    #: Serial2_36
    Serial2_36 = "Serial2_36"

    #: Serial2_37
    Serial2_37 = "Serial2_37"

    #: Serial2_38
    Serial2_38 = "Serial2_38"

    #: Serial2_39
    Serial2_39 = "Serial2_39"

    #: Serial2_40
    Serial2_40 = "Serial2_40"

    #: Serial2_41
    Serial2_41 = "Serial2_41"

    #: Serial2_42
    Serial2_42 = "Serial2_42"

    #: Serial2_43
    Serial2_43 = "Serial2_43"

    #: Serial2_44
    Serial2_44 = "Serial2_44"

    #: Serial2_45
    Serial2_45 = "Serial2_45"

    #: Serial2_46
    Serial2_46 = "Serial2_46"

    #: Serial2_47
    Serial2_47 = "Serial2_47"

    #: Serial2_48
    Serial2_48 = "Serial2_48"

    #: Serial2_49
    Serial2_49 = "Serial2_49"

    #: Serial2_50
    Serial2_50 = "Serial2_50"

    #: Serial2_51
    Serial2_51 = "Serial2_51"

    #: Serial2_52
    Serial2_52 = "Serial2_52"

    #: Serial2_53
    Serial2_53 = "Serial2_53"

    #: Serial2_54
    Serial2_54 = "Serial2_54"

    #: Serial2_55
    Serial2_55 = "Serial2_55"

    #: Serial2_56
    Serial2_56 = "Serial2_56"

    #: Serial2_57
    Serial2_57 = "Serial2_57"

    #: Serial2_58
    Serial2_58 = "Serial2_58"

    #: Serial2_59
    Serial2_59 = "Serial2_59"

    #: Serial2_60
    Serial2_60 = "Serial2_60"

    ##########################
    # Serial 3
    ##########################

    #: Serial3_1
    Serial3_1 = "Serial3_1"

    #: Serial3_2
    Serial3_2 = "Serial3_2"

    #: Serial3_3
    Serial3_3 = "Serial3_3"

    #: Serial3_4
    Serial3_4 = "Serial3_4"

    #: Serial3_5
    Serial3_5 = "Serial3_5"

    #: Serial3_6
    Serial3_6 = "Serial3_6"

    #: Serial3_7
    Serial3_7 = "Serial3_7"

    #: Serial3_8
    Serial3_8 = "Serial3_8"

    #: Serial3_9
    Serial3_9 = "Serial3_9"

    #: Serial3_10
    Serial3_10 = "Serial3_10"

    #: Serial3_11
    Serial3_11 = "Serial3_11"

    #: Serial3_12
    Serial3_12 = "Serial3_12"

    #: Serial3_13
    Serial3_13 = "Serial3_13"

    #: Serial3_14
    Serial3_14 = "Serial3_14"

    #: Serial3_15
    Serial3_15 = "Serial3_15"

    #: Serial3_16
    Serial3_16 = "Serial3_16"

    #: Serial3_17
    Serial3_17 = "Serial3_17"

    #: Serial3_18
    Serial3_18 = "Serial3_18"

    #: Serial3_19
    Serial3_19 = "Serial3_19"

    #: Serial3_20
    Serial3_20 = "Serial3_20"

    #: Serial3_21
    Serial3_21 = "Serial3_21"

    #: Serial3_22
    Serial3_22 = "Serial3_22"

    #: Serial3_23
    Serial3_23 = "Serial3_23"

    #: Serial3_24
    Serial3_24 = "Serial3_24"

    #: Serial3_25
    Serial3_25 = "Serial3_25"

    #: Serial3_26
    Serial3_26 = "Serial3_26"

    #: Serial3_27
    Serial3_27 = "Serial3_27"

    #: Serial3_28
    Serial3_28 = "Serial3_28"

    #: Serial3_29
    Serial3_29 = "Serial3_29"

    #: Serial3_30
    Serial3_30 = "Serial3_30"

    #: Serial3_31
    Serial3_31 = "Serial3_31"

    #: Serial3_32
    Serial3_32 = "Serial3_32"

    #: Serial3_33
    Serial3_33 = "Serial3_33"

    #: Serial3_34
    Serial3_34 = "Serial3_34"

    #: Serial3_35
    Serial3_35 = "Serial3_35"

    #: Serial3_36
    Serial3_36 = "Serial3_36"

    #: Serial3_37
    Serial3_37 = "Serial3_37"

    #: Serial3_38
    Serial3_38 = "Serial3_38"

    #: Serial3_39
    Serial3_39 = "Serial3_39"

    #: Serial3_40
    Serial3_40 = "Serial3_40"

    #: Serial3_41
    Serial3_41 = "Serial3_41"

    #: Serial3_42
    Serial3_42 = "Serial3_42"

    #: Serial3_43
    Serial3_43 = "Serial3_43"

    #: Serial3_44
    Serial3_44 = "Serial3_44"

    #: Serial3_45
    Serial3_45 = "Serial3_45"

    #: Serial3_46
    Serial3_46 = "Serial3_46"

    #: Serial3_47
    Serial3_47 = "Serial3_47"

    #: Serial3_48
    Serial3_48 = "Serial3_48"

    #: Serial3_49
    Serial3_49 = "Serial3_49"

    #: Serial3_50
    Serial3_50 = "Serial3_50"

    #: Serial3_51
    Serial3_51 = "Serial3_51"

    #: Serial3_52
    Serial3_52 = "Serial3_52"

    #: Serial3_53
    Serial3_53 = "Serial3_53"

    #: Serial3_54
    Serial3_54 = "Serial3_54"

    #: Serial3_55
    Serial3_55 = "Serial3_55"

    #: Serial3_56
    Serial3_56 = "Serial3_56"

    #: Serial3_57
    Serial3_57 = "Serial3_57"

    #: Serial3_58
    Serial3_58 = "Serial3_58"

    #: Serial3_59
    Serial3_59 = "Serial3_59"

    #: Serial3_60
    Serial3_60 = "Serial3_60"

    ##########################
    # Soft Codes
    ##########################

    #: SoftCode1
    SoftCode1 = "SoftCode1"

    #: SoftCode2
    SoftCode2 = "SoftCode2"

    #: SoftCode3
    SoftCode3 = "SoftCode3"

    #: SoftCode4
    SoftCode4 = "SoftCode4"

    #: SoftCode5
    SoftCode5 = "SoftCode5"

    #: SoftCode6
    SoftCode6 = "SoftCode6"

    #: SoftCode7
    SoftCode7 = "SoftCode7"

    #: SoftCode8
    SoftCode8 = "SoftCode8"

    #: SoftCode9
    SoftCode9 = "SoftCode9"

    #: SoftCode10
    SoftCode10 = "SoftCode10"

    #: SoftCode11
    SoftCode11 = "SoftCode11"

    #: SoftCode12
    SoftCode12 = "SoftCode12"

    #: SoftCode13
    SoftCode13 = "SoftCode13"

    #: SoftCode14
    SoftCode14 = "SoftCode14"

    #: SoftCode15
    SoftCode15 = "SoftCode15"

    #: SoftCode16
    SoftCode16 = "SoftCode16"

    #: SoftCode17
    SoftCode17 = "SoftCode17"

    #: SoftCode18
    SoftCode18 = "SoftCode18"

    #: SoftCode19
    SoftCode19 = "SoftCode19"

    #: SoftCode20
    SoftCode20 = "SoftCode20"

    #: SoftCode21
    SoftCode21 = "SoftCode21"

    #: SoftCode22
    SoftCode22 = "SoftCode22"

    #: SoftCode23
    SoftCode23 = "SoftCode23"

    #: SoftCode24
    SoftCode24 = "SoftCode24"

    #: SoftCode25
    SoftCode25 = "SoftCode25"

    #: SoftCode26
    SoftCode26 = "SoftCode26"

    #: SoftCode27
    SoftCode27 = "SoftCode27"

    #: SoftCode28
    SoftCode28 = "SoftCode28"

    #: SoftCode29
    SoftCode29 = "SoftCode29"

    #: SoftCode30
    SoftCode30 = "SoftCode30"

    #: SoftCode31
    SoftCode31 = "SoftCode31"

    #: SoftCode32
    SoftCode32 = "SoftCode32"

    #: SoftCode33
    SoftCode33 = "SoftCode33"

    #: SoftCode34
    SoftCode34 = "SoftCode34"

    #: SoftCode35
    SoftCode35 = "SoftCode35"

    #: SoftCode36
    SoftCode36 = "SoftCode36"

    #: SoftCode37
    SoftCode37 = "SoftCode37"

    #: SoftCode38
    SoftCode38 = "SoftCode38"

    #: SoftCode39
    SoftCode39 = "SoftCode39"

    #: SoftCode40
    SoftCode40 = "SoftCode40"

    #: SoftCode41
    SoftCode41 = "SoftCode41"

    #: SoftCode42
    SoftCode42 = "SoftCode42"

    #: SoftCode43
    SoftCode43 = "SoftCode43"

    #: SoftCode44
    SoftCode44 = "SoftCode44"

    #: SoftCode45
    SoftCode45 = "SoftCode45"

    #: SoftCode46
    SoftCode46 = "SoftCode46"

    #: SoftCode47
    SoftCode47 = "SoftCode47"

    #: SoftCode48
    SoftCode48 = "SoftCode48"

    #: SoftCode49
    SoftCode49 = "SoftCode49"

    #: SoftCode50
    SoftCode50 = "SoftCode50"

    #: SoftCode51
    SoftCode51 = "SoftCode51"

    #: SoftCode52
    SoftCode52 = "SoftCode52"

    #: SoftCode53
    SoftCode53 = "SoftCode53"

    #: SoftCode54
    SoftCode54 = "SoftCode54"

    #: SoftCode55
    SoftCode55 = "SoftCode55"

    #: SoftCode56
    SoftCode56 = "SoftCode56"

    #: SoftCode57
    SoftCode57 = "SoftCode57"

    #: SoftCode58
    SoftCode58 = "SoftCode58"

    #: SoftCode59
    SoftCode59 = "SoftCode59"

    #: SoftCode60
    SoftCode60 = "SoftCode60"

    #: BNC1In
    BNC1High = "BNC1High"

    #: BNC1Out
    BNC1Low = "BNC1Low"

    #: BNC2In
    BNC2High = "BNC2High"

    #: BNC2Out
    BNC2Low = "BNC2Low"

    #: Wire1In
    Wire1High = "Wire1High"

    #: Wire1Out
    Wire1Low = "Wire1Low"

    #: Wire2In
    Wire2High = "Wire2High"

    #: Wire2Out
    Wire2Low = "Wire2Low"

    #: Input port 1
    Port1In = "Port1In"

    #: Output port 1
    Port1Out = "Port1Out"

    #: Input port 2
    Port2In = "Port2In"

    #: Output port 2
    Port2Out = "Port2Out"

    #: Input port 3
    Port3In = "Port3In"

    #: Output port 3
    Port3Out = "Port3Out"

    #: Input port 4
    Port4In = "Port4In"

    #: Output port 4
    Port4Out = "Port4Out"

    #: Input port 5
    Port5In = "Port5In"

    #: Output port 5
    Port5Out = "Port5Out"

    #: Input port 6
    Port6In = "Port6In"

    #: Output port 6
    Port6Out = "Port6Out"

    #: Input port 7
    Port7In = "Port7In"

    #: Output port 7
    Port7Out = "Port7Out"

    #: Input port 8
    Port8In = "Port8In"

    #: Output port 8
    Port8Out = "Port8Out"

    #: GlobalTimer1_Start
    GlobalTimer1_Start = "GlobalTimer1_Start"

    #: GlobalTimer2_Start
    GlobalTimer2_Start = "GlobalTimer2_Start"

    #: GlobalTimer3_Start
    GlobalTimer3_Start = "GlobalTimer3_Start"

    #: GlobalTimer4_Start
    GlobalTimer4_Start = "GlobalTimer4_Start"

    #: GlobalTimer5_Start
    GlobalTimer5_Start = "GlobalTimer5_Start"

    #: GlobalTimer1_End
    GlobalTimer1_End = "GlobalTimer1_End"

    #: GlobalTimer2_End
    GlobalTimer2_End = "GlobalTimer2_End"

    #: GlobalTimer3_End
    GlobalTimer3_End = "GlobalTimer3_End"

    #: GlobalTimer4_End
    GlobalTimer4_End = "GlobalTimer4_End"

    #: GlobalTimer5_End
    GlobalTimer5_End = "GlobalTimer5_End"

    #: GlobalCounter1_End
    GlobalCounter1_End = "GlobalCounter1_End"

    #: GlobalCounter2_End
    GlobalCounter2_End = "GlobalCounter2_End"

    #: GlobalCounter3_End
    GlobalCounter3_End = "GlobalCounter3_End"

    #: GlobalCounter4_End
    GlobalCounter4_End = "GlobalCounter4_End"

    #: GlobalCounter5_End
    GlobalCounter5_End = "GlobalCounter5_End"

    #: Condition1
    Condition1 = "Condition1"

    #: Condition2
    Condition2 = "Condition2"

    #: Condition3
    Condition3 = "Condition3"

    #: Condition4
    Condition4 = "Condition4"

    #: Condition5
    Condition5 = "Condition5"

    #: Condition6
    Condition6 = "Condition6"

    #: Condition7
    Condition7 = "Condition7"

    #: Condition8
    Condition8 = "Condition8"

    #: Condition9
    Condition9 = "Condition9"

    #: Condition10
    Condition10 = "Condition10"

    #: Condition11
    Condition11 = "Condition11"

    #: Condition12
    Condition12 = "Condition12"

    #: Condition13
    Condition13 = "Condition13"

    #: Condition14
    Condition14 = "Condition14"

    #: Condition15
    Condition15 = "Condition15"

    #: Condition16
    Condition16 = "Condition16"

    #: Tup
    Tup = "Tup"
