Ah, I hadn't noticed the "Write - bitfields" option. Yes, that would be helpful in some cases. Though, after flipping back and forth between "Write - value" and "Write - bitfields", I think I can see a way that the bitfields screen could become a lot more useful.
Presently, the bitfields screen is only available when using the "Write - bitfields" command. But, there really isn't a "Write - bitfields" command... in the generated code, it's a Clear Bits command and Set Bits command. If I want to use the bitfields view to compose a new 32-bit "Write - value", currently I have to use these steps:
- Select the "Write - bitfields" command.
- Click the Value / Mask column. The bitfields dialog opens.
- Click the "Individual Bitfields" radio button.
- Poke whatever values I want into the individual fields.
- Scribble down the hex value (I can't swipe and copy it).
- Exit the bitfields dialog.
- Change the command to "Write - value".
- Type in the hex value.
Note: I can't skip steps 5-6, because step 7 will always invalidate/erase the Value field of the command.
Needless to say, that's very complicated. For reference, I'm just including a screenshot of the dialog here:

I think there's a way to make this dialog a lot more useful -- with very little modification, this dialog can be used for ALL "write" and "check" commands.
Bear with me for a moment... first, rename the "Write - bitfields" command to "Write - clear and set bits", since that is what the command is actually doing. This dialog will be used for all "write" commands, so users will be able to edit bitfields regardless of which write command is used.
Next, eliminate the "direct value / individual bitfields" radio button to simplify the interface. Editing the direct value immediately updates the bitfields, and editing a bitfield and pressing tab or enter immediately updates the direct value, so there's no point in selecting one or the other. The cursor can only be focused on one text entry box at a time, so wherever the cursor is focused (the "direct value" or an individual bitfield), that's what the user is editing.
Another change I strongly suggest is that altering the command selection should not alter any of the values entered; it will only change the command that appears in the DCD code. If the user enters "0b10101010********0000000011111111" as a direct value, then the tool should store that value in the underlying XML. Then based on the command selection, the value would appear as:
- (Write - value) 0xAA0000FF
- (Write - clear bits) 0x5500FF00
- (Write - set bits) 0xAA0000FF
- (Write - clear and set bits) set:0xAA0000FF, clr:0x5500FF00
Also, when the user clicks on the "Value" field in the DCD command listing and the dialog appears, the dialog should immediately focus on and highlight the contents of the direct value entry field. This helps the user to rapidly enter new commands and values, because now all the user has to do is:
- Select the desired write command.
- Click the Value field (the Write Registers dialog appears, with the direct entry field focused).
- Type or paste a new value (will replace the previous value).
- Hit enter (effectively clicks "OK").
This is an efficient use of keystrokes and mouse clicks. If the user wants to drill into the individual bitfields, they now have that option, too.
You can (and should) also apply this same structure to a dialog for the Check Data commands. This dialog would look nearly identical to the Write dialog, except that '*' is no longer a valid entry; the user enters only 0's and 1's; the help text at the bottom would also need to change to reflect this. Now the user can fill in 1's for specific fields, rather than figuring out bitmask values manually.
I think this would greatly improve the utility of the DCD editor.